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

 

번호 제목 글쓴이 날짜 조회 수
286 쉘 프롬프트에서 바로 이전 디렉토리로 이동하기 호스트웨이 2012.12.20 2749
285 df 쉽게 보기 호스트웨이 2012.12.20 2834
284 nl명령어를 사용해 파일내용 출력시 행번호 붙이기 file 호스트웨이 2012.12.20 3271
283 df 와 du의 출력 크기가 다르게 보이는 이유 호스트웨이 2012.12.14 4423
282 특정 파일이 소속된 rpm 패키지 찾기 호스트웨이 2012.12.14 1777
281 rsync / 파티션 전체 동기화 방법 호스트웨이 2012.12.14 2426
280 Ctrl+Alt+Del로 재부팅 방지 하기 file 호스트웨이 2012.12.13 3437
279 리눅스 who 명령어 호스트웨이 2012.12.12 3735
278 locate 명령어를 이용해 빠르게 지정한 파일 찾기 file 호스트웨이 2012.12.12 1859
277 이름에 공백이나 특수문자가 포함된 파일 수정,삭제하기 호스트웨이 2012.12.07 20004
276 리눅스 관리툴 webmin 설치하기 호스트웨이 2012.12.07 3186
275 패키지에 포함된 리스트 확인하기 호스트웨이 2012.12.07 5084
274 잘못푼 압축파일(tar.gz) 지우는 방법 호스트웨이 2012.12.07 1272
273 리눅스 dmesg 명령어 file 호스트웨이 2012.12.06 4155
272 리눅스 명령어 모음 호스트웨이 2012.12.06 4785
271 리눅스 프로세스별 메모리 사용량 확인 호스트웨이 2012.12.06 12653
270 강제 umount 방법 (umount : device is busy 발생시) 호스트웨이 2012.11.30 55424
269 vsFTPd 사용시 디렉토리 목록 조회가 안될때 호스트웨이 2012.11.30 9035
268 vim fileformat 변경하기: -bash: ./LINUX_03.sh: /bin/sh^M: bad interpreter: No such file or directory 호스트웨이 2012.11.29 2292
267 queryperf 설치 및 사용 방법 (DNS 스트레스 테스트) 호스트웨이 2012.11.29 1864