Linux ETC

hdparm 옵션 알아보기

2010.02.04 23:48

sylee 조회 수:24238

 

hdparm 는 Linux IDE/ST-506 장치의 여러가지 하드 디스크 ioctls 옵션을 정할수 있습니다.
그리고 여러가지 옵션들이 커널 2.0.10 버젼 이상에서 포함된 새로운 (E)IDE 장치에서만 동작합니다.


옵션이 주어지지 않는다면, -acdgkmnru 으로 실행됩니다.

 

[옵션]
-a
 파일 시스템의 미리 읽기(read-ahead) 섹터 수의 정보를 보여주거나 정할수 있습니다.
 이 옵션으로 큰 화일이 연속되는 경우의 성능이 증대될수 있으며, 그것은 실행중인 작업이 필요하게 되는 예상의 추가적인 블럭을 미 리 가져 옴으로써 성능을 증대시킵니다

-A
 IDE 장치의 미리 읽기(read-lookahead) 기능을 on/off 할수 있습니다. (대개 기본적으로 기능이 켜져(ON) 있습니다).

-c
 (E)IDE 장치의 32-bit 입출력(I/O) 기능을 켜거나 알아볼수 있습니다.
 이 옵션에서 숫자로 32-bit 입출력(I/O)을 조정할수 있습니다:

 32-bit 입출력(I/O)를 끄려면 0
 32-bit 입출력(I/O)를 켜려면 1
 여러 칩셋에서 요구되는 특별한 동기 배열(syncsequence)을 포함한 32-bit 입출력(I/O)를 켜려면 3
 이 값(3) 은 거의 모든 32-bit IDE 칩셋에서 동작하지만, 좀 더 부담(overhead)를 줄수 있습니다.

-C
 IDE 장치의 전원 모드 상태를 검사합니다.  이것은 항상 이 중 하나의 상태가 될 것 입니다.
 unknown (장치가 이 명령어를 지원하지 않습니다.)
 active/idle (보통 상태입니다.)
 standby (저 전력 상태입니다. 장치의 모터 회전이 멈춥니다.)
 sleeping (장치가 완전히 정지합니다.).
 -S,-y,-Y,-Z 옵션으로 IDE 장치의 전원 모드를 조정 할 수 있습니다.

-d
 장치의 직접 메모리 접근(DMA) 옵션을 켜거나 끌수 있습니다.

-E
 CD-ROM의 속도를 설정합니다.
 이것은 CD-ROM이 자동적으로 속도를 바꾸기 때문에 일반적으로 필요한 옵션은 아닙니다.

-f
 장치가 나갈때 버퍼 캐쉬(buffer cache)를 동기화 시키고 비웁니다.
 이 동작은 또한 -t 와 -T 옵션이 동작할때 같이 실행됩니다.

-g 
 장치의 구조 (실린더, 헤드, 섹터), 장치의 크기 (섹터), 그리고 장치의 시작 변위(offset) (섹터)를 장치의

 시작부분에서 표시합니다.

-h
 사용 방법을 간결하게 표시합니다.

-i
 가능하다면 부트 시간에 얻을수 있는 확인 정보를 표시합니다.
 이것은 지금의 IDE 장치의 특징이고, 오래된 장치에서는 아마 지원하지 않을 것 입니다.


-I
 장치로 부터 직접 어떠한 변화나 수정이 없는 본래의 확인 정보를 요청합니다.

-k
 장치의 리셋에도 셋팅을 유지하는 옵션(keep_settings_over_rest)을 설정하거나 보여줍니다.

-K
 리셋에도 특징을 유지하는 옵션(keep_features_over_reset)을 설정합니다.
 모든 장치가 이것을 지원하는 것은 아닙니다.

-L
 장치의 도어락을 설정합니다.
 이 옵션을 으로 설정하므로써 도어락을 풀 수 있습니다. 일반적으로 리눅스는 디스크 사용에 따라 도어락을 자동적으로 유지합니다.

-m
 장치의 다중 섹터 입출력(I/O)을 위해 섹터 수를 설정하거나 정보를 알아냅니다.
 이 옵션을 끄기 위해서는 0 을 사용합니다.

-P
 장치의 내부적인 선전달(prefetch) 구조를 위한 최대 섹터 수를 설정합니다.
 모든 장치가 이 기능을 지원하는 것은 아닙니다.

-q
 이어지는 옵션을 화면에는 출력하지 않습니다.
 이것은 /etc/rc.d/rc.local 에서 실행될 때 화면의 출력을 줄여서 유용합니다.
 이것은 -i 옵션 -v 옵션 -t 옵션 -T 옵션에는 적용되지 않습니다.

-r
 장치의 읽기 전용(read-only)을 설정하거나 정보를 얻습니다. 설정할때, 이 장치의 쓰기는 허가되지 않습니다.
 
-S
 드라이브의 standby (spindown) 시간을 설정합니다.
 이 수치는 드라이브에게 전원 절약을 위해 스핀들 모터를 멈출때 까지 얼마나 기다릴 것인가를 결정하게 됩니다.
 이런 상황에서 드라이브는 연속되는 디스크 접근에 반응하기 위해 30초정도 걸릴 것 이지만 대부분의 드라이브는 더 빠릅니다.
 timeout 수치는 좀 특이합니다.

* 1-240까지는 5초 단위로 증가하고 (결국 5초부터 20분까지),
* 241~251까지는 30분 단위로 증가(30분에서 5.5시간까지에 해당)합니다.
* 252는 21분을 의미하고
* 253은 특별히 제조사에서 설정한 값으로 8시간에서 12시간사이의 timeout 시간.
* 254는 다른 설정값을 위해서 남겨져 있고
* 마지막으로 255는 21분 15초


-T
 비교를 목적으로 벤치마크를 위해 캐쉬를 읽는 시간을 잽니다.
 정확한 결과를 위해 이것을 적어도 수 메가 바이트의 메모리 자원이 남은 상태의 사용하지 않는 시스템에서 2-3번 정도 반복해서 수행합니다.
 이 옵션은 디스크 접근(access)없이 리눅스 버퍼 캐쉬로 부터 직접적으로 읽어오는 속도를 표시해줍니다.
 이 측정법은 본래 테스트 상태의 시스템의 프로세서, 캐쉬, 메모리의 결과물의 표시입니다.
 -t 옵션과 같이 사용한다면, 수정된 요인에 기초한 -T 의 결과에 -t 의 결과를 함께 보고할 것 입니다.

-t
 비교를 목적으로 벤치마크를 위해 장치를 읽는 시간을 잽니다.
 정확한 결과를 위해 이것을 적어도 수 메가 바이트의 메모리 자원이 남은 상태의 사용하지 않는 시스템에서 2-3번 정도 반복해서 수행합니다.
 이 옵션은 어떠한 사전의 캐쉬가 되지 않은 데이터를 디스크에서 버퍼 캐쉬를 통해 읽는 속도를 표시합니다.
 이 측정법은 리눅스에서 파일시스템의 어떠한 부담을 주지않고 얼마나 빠르게 드라이브가 연속되는 데이터를 지속적으로 읽을수 있는지의 표시입니다.
 정확한 측정법을 확실히 하기 위해서는, BLKFLSBUF ioctl 를 사용하여 -t 가 수행되는 동안 버퍼 캐쉬가 비워져야 합니다.  -T 옵션과 같이 사용한다면, 수정된 요인에 기초한 -T 의 결과에 -t 의 결과를 함께 보고할 것 입니다.

-u
 장치의 interrupt-unmask 를 설정하거나 정보를 얻습니다.
 이 옵션을 1 로 설정할 경우 장치에게 디스크의 인터럽트가 진행되는 동안 다른 인터럽트를 unmask 하도록 허락합니다.  이것은 리눅스의 반응성을 크게 증가시키고 "serial port overrun" 에러를 제거합니다. 이 기능을 사용할때는 주의하십시오: 어떤 드라이브/콘트롤러 조합은 이 기능이 켜졌을때(enable) 입출력(I/O) 대기시간이 증가하는  것에 관대하지 않을수 있습니다.
 결과적으로 파일시스템을 크게 손상시킵니다. 특별히 CMD-640B 와 RZ1000 (E)IDE 인터페이스는 커널 2.0.13 이전 버젼에서는 이 옵션이 사용될 때 신뢰할수 없습니다.
 이전 버젼의 커널을 사용 할때 이런 문제를 고치기 위해서는 IDE prefetch 기능을 이런 인터페이스 에서 꺼 주시길 바랍니다.

-v
 -i 옵션을 제외하고 모든 셋팅을 표시합니다.( IDE 에서는 -acdgkmnru , SCSI 에서는 -gr , XT 에서는 -adgr 과 같습니다.)
  또한 이것은 특별히 어떠한 옵션도 주지 않았을때 기본 동작입니다.

-W
IDE 드라이브의 쓰기-캐쉬(write-caching) 기능을 끄거나 켭니다.( 대개 기본적으로 꺼져(OFF) 있습니다.)

-X
 새로운 (E)IDE/ATA2 드라이브를 위해 IDE 전송 모드를 설정합니다.

-y
 강제로 IDE 드라이브를 신속히 저 전력 소모의 standby 모드로 들어가게 합니다.
 대개는 스핀들 모터를 멈추게 합니다. 현재 전원 모드 상태는 -C 옵션에서 체크할 수 있습니다.

-Y
 강제로 IDE 드라이브를 신속히 가장 적은 전력을 소모하는 sleep 모드로 들어갑니다.
 완전히 shut down을 합니다. 드라이브가 다시 접근(access)할수 있으려면 하드 혹은 소프트 리셋이 필요합니다.
 (리눅스 IDE 드라이버는 필요할 때 자동적으로 리셋을 조절합니다.)

 현재 전원 모드 상태는 -C 옵션에서 체크할 수 있습니다.

-Z
 불편한 시간에 idle/spin-down 을 막기위해 Seagate 드라이브의 자동 전력-보호 기능을 끕니다.