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 드라이브의 자동 전력-보호
기능을 끕니다.