느린 하드디스크 체크: hdparm

litdream의 이미지

안녕하세요.
제가 얼마전에 컴퓨터를 한대 얻어서, Gentoo 를 깔았습니다.
그런데, 깔다가 좀 느리지 않나 싶어서, 이리저리 알아본 결과
hdparm 을 써봐야한다는 걸 알아서 체크해 봤더니,
무려 20배 정도로 디스크 액세스가 느립니다.

우선, 제가 더 체크해볼수 있는 유틸리티가 무엇이 있을까요?

다음은 hdparm -t /dev/hda 의 결과입니다.

<느린컴퓨터>
/dev/hda:
Timing buffered disk reads: 6 MB in 3.07 seconds = 1.95 MB/sec
/dev/hdb:
Timing buffered disk reads: 8 MB in 3.95 seconds = 2.03 MB/sec

<정상적인 컴퓨터>
/dev/hda:
Timing buffered disk reads: 116 MB in 3.01 seconds = 38.53 MB/sec
/dev/hdb:
Timing buffered disk reads: 172 MB in 3.00 seconds = 57.30 MB/sec

Necromancer의 이미지

hdparm -i 로 확인을 해보시기 바랍니다.

Written By the Black Knight of Destruction

Fe.head의 이미지

dma를 켜 보세요..

Will:~# hdparm /dev/hda

/dev/hda:
 multcount    = 16 (on)
 IO_support   =  1 (32-bit)
 unmaskirq    =  0 (off)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 65535/16/63, sectors = 40020664320, start = 0

Will:~# hdparm -d1 /dev/hda

고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"

warpdory의 이미지

커널 컴파일 할 때 칩셋을 제대로 지정하셨는지도 체크해 보세요.
보통 커널 컴파일 옵션에서...
Device drivers -> ATA/ATAPI ... 로 들어가서 체크하는데,
여기서 자신이 쓰는 메인 보드의 칩셋을 잘 보고 * 표시를 다셔야 합니다.

그러면 hdparm 안 해도 그렇게 까지 속도가 떨어지지는 않습니다.


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

litdream의 이미지

앗~ 어느새 답변이... 정말 감사합니다.

흑기사님, fehead님, akpil 님이 지적하신 모든 사항을
저의 무지로 인하여 전혀 고려하지 않은듯 합니다.. ^^;

우선, 흑기사님의 제안대로 hdparm -i 결과는

# hdparm -i /dev/hda

/dev/hda:

 Model=WDC WD400EB-00CPF0, FwRev=06.04G06, SerialNo=WD-WMAAT2860579
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=40
 BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78165360
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: device does not report version:

 * signifies the current active mode

일단 이해하기가 쉽지는 않았지만, buffer 사이즈도 정해져있고, 여러가지 숫자들이 있는걸로봐서...-_-;; ..
fehead 님의 조언을 한번 따라보고 안될경우, 좀더 연구한후 다시 돌아오기로 하고 넘어갔습니다.

fehead 님의 제안대로 dma 를 체크하였더니!!

/dev/hda:
 multcount    = 16 (on)
 IO_support   =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 4865/255/63, sectors = 78165360, start = 0

dma 가 꺼져있었습니다.
그러면~ 예상외로 문제가 간단해 지리라 기대하고,

# hdparm -d1 /dev/hda

/dev/hda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)

이것을 할수 없다고 나오는군요~
좀더 연구를 해야겠군요... 해결이 되면 다시 답글을 올리겠습니다.

답변 주신분들께, 감사드립니며, 혹 다른 조언해주시면 더욱 감사드리겠습니다.
이만.. 꾸뻑.

삽질의 대마왕...

litdream의 이미지

akpil 님의 말씀대로, 2.6.8 커널에 칩셋을 enable 한후에
다시 부팅하니깐, 아주 희한한 현상이 났습니다.

부팅한 상태에서는 /dev/hda 는 dma 가 on 된 상태였고,
/dev/hdb 는 dma 가 off 된 상태였습니다.
그래서, hdb 를 켜면 syslog 에 에러를 남기면서 enable 되었다가
hda를 disable 시킵니다. 즉, 둘중에 한놈만 enable 되고
중간중간 error 를 날립니다.

칩셋은 제대로 설정한듯 합니다. (칩셋이 via 였습니다. )
( 몇번 서비스가 안올라온것은 있었지만, 다시 컴파일해서 고쳤습니다. )
이 증상에 대해 혹시 해주실 말씀 있으신분 부탁드립니다.. 꾸뻑..

Oct 13 18:42:32 raymond hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:42:32 raymond hdb: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:42:32 raymond hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:42:32 raymond hdb: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:42:32 raymond hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:42:32 raymond hdb: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:42:32 raymond hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:42:32 raymond hdb: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:42:32 raymond hda: DMA disabled
Oct 13 18:42:32 raymond ide0: reset: success
Oct 13 18:42:32 raymond hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:42:32 raymond hdb: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:42:32 raymond hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:42:32 raymond hdb: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:42:32 raymond hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:42:32 raymond hdb: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:42:32 raymond hdb: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:42:32 raymond hdb: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:42:32 raymond ide0: reset: success
Oct 13 18:42:59 raymond su(pam_unix)[6437]: session opened for user root by (uid=1000)
Oct 13 18:43:13 raymond (litdream-6457): 시작 (버전 2.6.0), pid 6457 사용자 'litdream'
Oct 13 18:43:13 raymond (litdream-6457): 주소 "xml:readonly:/etc/gconf/gconf.xml.mandatory"을(를) 위치 0에 있는 읽기 전용 설정 소스로 확인했습니다
Oct 13 18:43:13 raymond (litdream-6457): 주소 "xml:readwrite:/home/litdream/.gconf"을(를) 위치 1에 있는 쓰기 가능한 설정 소스로 확인했습니다
Oct 13 18:43:13 raymond (litdream-6457): 주소 "xml:readonly:/etc/gconf/gconf.xml.defaults"을(를) 위치 2에 있는 읽기 전용 설정 소스로 확인했습니다
Oct 13 18:43:16 raymond hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:43:16 raymond hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:43:16 raymond hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:43:16 raymond hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:43:16 raymond hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:43:16 raymond hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:43:16 raymond hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:43:16 raymond hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:43:16 raymond hdb: DMA disabled
Oct 13 18:43:16 raymond ide0: reset: success
Oct 13 18:43:16 raymond hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:43:16 raymond hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:43:16 raymond hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:43:16 raymond hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:43:16 raymond hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:43:16 raymond hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:43:16 raymond hda: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Oct 13 18:43:16 raymond hda: dma_intr: error=0x84 { DriveStatusError BadCRC }
Oct 13 18:43:16 raymond ide0: reset: success

삽질의 대마왕...

warpdory의 이미지

저렇게 에러 나는 경우는 보통 하드웨어적으로 문제가 있을 때입니다.

즉, 하드 디스크 케이블이 헐겁다거나... 하드디스크에 배드섹터가 있다거나, 하드디스크에 전기가 들어가는 것이 불안하다거나.. 할 때 저런 메시지를 보여줍니다.

커널컴파일은 하셨다니깐... 하드디스크를 체크해 보시기를 권합니다.


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

litdream의 이미지

akpil님 감사합니다.. 하드웨어를 체크해 보겠습니다.

사실 이 컴터의 전 주인이, 컴퓨터가 너무 느리다고 저에게 공짜로 주다시피 팔았거든요. 아마도 하드웨어 문제인듯 싶지만, 리눅스로 심하게 작업하지 않는다면 쓸수는 있는듯 합니다.
( 젠투로 딱 필요한것만 깔아서 못쓰도록 느리진 않은듯.. )

장난감으로 쓰기는 딱 좋습니다.. :) mp3 player 로나 써야겠습니다.. 하하하.
답변주신분들 감사합니다.
그럼..

삽질의 대마왕...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.