web-dev-qa-db-ja.com

ディスク操作がDebianをフリーズする

新しいデスクトップにDebianテストをインストールしたばかりですが、パフォーマンスにあまり満足していません。たとえば、ディスクを集中的に使用する操作を実行する場合です。システム内のパッケージをアップグレードすると、すべてがフリーズするようです。 Iceweaselのタブの変更には3秒かかります。私は3歳のThinkpadX60ウルトラポータブルでDebianを実行していますが、これらの問題はありません。 (ラップトップのすべての単一パラメーターはデスクトップよりもはるかに悪いです)。

デフォルトのパッケージ化されたカーネルとスクリプトを使用しています。

走る

hdparm -t /dev/sda1

そして、私は約96GB/sを得ました。これは予想されています。それをより良く機能させるために他に何を試みることができますか?

[〜#〜]編集[〜#〜]

grzes:/home/ga# hdparm -i /dev/sda

/dev/sda:

 Model=WDC WD15EARS-00Z5B1, FwRev=80.00A80, SerialNo=WD-WMAVU1362357
 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=50
 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=2930277168
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-1,2,3,4,5,6,7

 * signifies the current active mode

EDIT2:妻でさえ、「この新しいコンピューターでは、カメラから写真をコピーすると何もできず、古いコンピューターよりもはるかに悪い」と言っていました。だからそれは深刻なはずです。

EDIT:2.6.32に更新されましたが、まだ改善されていません

EDIT4:新しいディスクがext4で、古いディスクがext3であることに言及するのを忘れました。

EDIT5:まだ解決されていません。 P43 ASUSP5QL-Eボードを持っています。関連すると思われるdmesgの行:

[    0.370850] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)                              
[    0.370852] io scheduler noop registered                                                                      
[    0.370853] io scheduler anticipatory registered                                                              
[    0.370854] io scheduler deadline registered                                                                  
[    0.370876] io scheduler cfq registered (default)
...
[    0.908233] ata_piix 0000:00:1f.2: version 2.13                                                               
[    0.908243] ata_piix 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19                                 
[    0.908246] ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]                                                        
[    0.908275] ata_piix 0000:00:1f.2: setting latency timer to 64                                                
[    0.908316] scsi0 : ata_piix                                                                                  
[    0.908374] scsi1 : ata_piix                                                                                  
[    0.909180] ata1: SATA max UDMA/133 cmd 0xa000 ctl 0x9c00 bmdma 0x9480 irq 19                                 
[    0.909183] ata2: SATA max UDMA/133 cmd 0x9880 ctl 0x9800 bmdma 0x9488 irq 19                                 
[    0.909199] ata_piix 0000:00:1f.5: PCI INT B -> GSI 19 (level, low) -> IRQ 19                                 
[    0.909202] ata_piix 0000:00:1f.5: MAP [ P0 -- P1 -- ]                                                        
[    0.909228] ata_piix 0000:00:1f.5: setting latency timer to 64                                                
[    0.909279] scsi2 : ata_piix                                                                                  
[    0.909326] scsi3 : ata_piix                                                                                  
[    0.910021] ata3: SATA max UDMA/133 cmd 0xb000 ctl 0xac00 bmdma 0xa480 irq 19                       
12
Grzenio

これはついに修正されました! @Rachelが指摘したように、問題は確かに4kbセクターへの配置にありましたが、残念ながらリンクされた記事は正しくありませんでした:(

パーティションを揃える正しい方法は次のとおりです。 http://www.linuxconfig.org/linux-wd-ears-advanced-format

そして、この記事は、パーティションテーブルが正しいかどうかを確認できるように、かなり良いベンチマークを提供します。 http://article.gmane.org/gmane.linux.utilities.util-linux-ng/2955

ちなみに、このドライブがあり、Linuxを使用している場合は、ここで説明するように、アイドルタイマーの1つを増やす必要があります: http://wdc.custhelp.com/cgi-bin/wdc.cfg/php /enduser/std_adp.php?p_faqid=5357&p_created=1266947046&p_sid=Os7DQL2k&p_accessibility=0&p_redirect=&p_srch=1&p_lva=&p_sp=cF9zcmNoPTEmcF9zb3J0X2J5PSZwX2dyaWRzb3J0PSZwX3Jvd19jbnQ9NTEsNTEmcF9wcm9kcz0yMjcsMjk0JnBfY2F0cz0xMzAmcF9wdj0yLjI5NCZwX2N2PTEuMTMwJnBfcGFnZT0x&p_li=&p_topview=1

1
Grzenio

パーティションのオフセットを確認します。EARSには4096テクノロジーがあるため、4で割り切れる必要があります。そうでない場合は、再パーティション化してアライメントを取得し、パフォーマンスの問題を解消する必要があります(アライメントがずれているEARSドライブは、操作ごとにより多くのセクター書き込みを実行します)。

4
Rachel

多くのディスクIOを実行すると、同様のフリーズの問題が発生しました。バックアップ中、デスクトップはバックアップが完了するまで数秒間何度もフリーズしていました。

これは、アライメントやhdparmの調整とは関係ありませんでした(ただし、役立つことに同意します)。

システムのロックアップは、IOスケジューラーが原因で、よりインタラクティブなアプリケーション(Firefox、KDEなど)に必要な一部のIOが遅延します。障害のあるIOスケジューラー)だったcfg

この問題を解決するには、期限IOスケジューラーを使用する必要があります。/ etc /に追加できる次のコマンドを使用して、ディスク上でアクティブ化します。 rc.local

echo deadline >  /sys/block/sda/queue/scheduler

詳細については、 集中的なディスクI/Oが実行されたときにLinuxシステムのロックアップを解決する を確認してください。

4
ciceron

多くのfsync(2)呼び出しを実行する操作によって、システムが大幅に遅くなるという問題が発生しました。私の場合、LUKSに含まれるLVMに含まれるルートパーティションで実行しています。 LVMまたはLUKSのいずれかを使用していますか?

(単に「パッケージをインストールする」のではなく)具体的にディスクを噛み砕いているものを特定するのに役立つツールは、iotopと呼ばれます。これらのタスクのいずれかを実行しているときに実行することをお勧めします。同時にトリガーされ、すべてのI/Oスループットを消費する可能性のある他のバックグラウンドプロセスを指摘する場合があります。

2
pioto

暗闇の中でのショットですが、しばらく前にこのような問題が発生しました。原因は、カーネルがチップセットを完全にサポートしておらず、DMAがオフになっていることです。 。 確認する

hdparm -i /dev/sda

DMAモードの1つが有効になっているかどうか。

(その場合の解決策は、新しいカーネルを入手することでした。)

2

Sudo fdisk -u/dev/sda

それはあなたに開始オフセットを与えるはずです。 fdisk -o 64などを使用してパーティションを作成できると思います-グーグルで検索する必要があるので、fdiskでグーグルを実行し、パーティションオフセットを手動で設定します(デフォルトは63なので、これは良くありません)。

はい、ディスクはOSのように見せかけているため、512bセクターで表示されます-Vista/W7は正しいオフセットを設定することでこれを処理しますが、XPそしてほとんどすべてのディストリビューションディストリビューションは:(手動が唯一の方法です(私のものは単なるストレージドライブであり、win7/ntfsで作成されているため、問題はありません)

編集:-wdcで素敵な投稿を見つけました-これですぐに稼働できるはずです:)

http://community.wdc.com/t5/Desktop/Problem-with-WD-Advanced-Format-drive-in-LINUX-WD15EARS/m-p/10920#M631

2
Rachel

ランダムショットですが、Debianを使用していることを考えるとばかげているようです...しかし、同じHDDモデルを使用している人に役立つことがわかりました。BIOSを更新しようとしましたか?

1
liori

一般的な経験則として、デバイスでhdparmを使用できる場合、それは「古い」ATAインターフェイスであるのに対し、新しいSATA/SCSIインターフェイスです。その場合、問題はおそらく、割り込み中のディスク操作がデフォルトで有効になっていないことです。これは、古いATAインターフェイスを使用している一部のマシンで一般的な問題であり、大量のI/O操作中にディスクまたはシステムのパフォーマンスを低下させます。

あなたは本当にこれを試してみるべきです:

Sudo hdparm -t -T /dev/sda
Sudo hdparm -a8 -c3 -u1 /dev/sda
Sudo hdparm -t -T /dev/sda

2回目のタイミング実行(3番目のコマンド)でパフォーマンスの改善が見られない場合は、別のことが起こっています。

もう1つの要因は、UDMA6モードが非UDMAケーブルで機能することを期待していることです(SATAインターフェイスではないと想定)。 80ピンATAケーブルを使用している場合は、問題ありません。古い40ピンを使用している場合は、あらゆる種類の悲しみがあります。ケーブルが古い40ピンの場合は、転送速度を「安全に」サポートできる速度まで下げる必要があります。 警告:IDEインターフェイスを調整すると、ドライブやインターフェイスがハングする可能性があります。ドライブがルートファイルシステムの場合、システム全体がハングします。

ハードウェアに合わせて転送速度を下げる必要がある場合は、次のことを試してください。

Sudo hdparm -t -T /dev/sda
Sudo sync; sleep 3 ; sync    
Sudo hdparm -d 1 -X mdma2 /dev/sda
Sudo hdparm -t -T /dev/sda

繰り返しますが、2番目のタイミング(3番目のコマンドが発行された)は改善を示すはずです。

最後に、ドライブ自体は限界かもしれませんが、SMARTレポートがないと、問題に気付かない可能性があります(手遅れになるまで)。smartmontoolsパッケージをにインストールすることを強くお勧めします。特に、時々少しのTLCが必要になる古いドライブがある場合は、支援してください。

Sudo apt-get update && apt-get install smartmontools

他のすべてが失敗した場合は、/var/log/messagesでディスクI/Oエラーを調べてください。


更新:

あなたは一人ではないようです。ネットのいたるところに、これらのユニットに関するあらゆる種類の心痛を報告する掲示板があります。

4kセクターサイズと「従来の」512バイトサイズを使用したドライブについても言及されています。これがどんなトラブルを引き起こしているのか想像するしかありません。

最後に、出力をもう一度見ると、ジャーナリングスレッドがシステムをかなり拘束しているように見えます。ジャーナリングされていないファイルシステムは一時的に問題を軽減するかもしれませんが、それはせいぜい予防的であり、最悪の場合問題を解決しません。

1
Avery Payne