Operasi disk membekukan Debian

12

Saya baru saja menginstal pengujian Debian di desktop baru saya dan saya tidak terlalu senang dengan kinerja - ketika saya melakukan operasi intensif disk, mis. Meng-upgrade paket dalam sistem, semuanya tampak membeku, misalnya mengubah tab di Iceweasel membutuhkan waktu 3 detik. Saya menjalankan Debian pada Thinkpad X60 ultra-portable 3 tahun saya, dan saya tidak memiliki masalah ini. (setiap parameter tunggal laptop jauh lebih buruk daripada desktop).

Saya menggunakan kernel dan skrip bawaan paket.

saya berlari

hdparm -t /dev/sda1

Dan saya mendapat sekitar 96GB / s, yang diharapkan. Apa lagi yang bisa saya coba untuk membuatnya bekerja lebih baik?

EDIT :

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 : Bahkan istri saya berkata "di komputer baru ini saya tidak bisa melakukan apa-apa ketika saya menyalin foto dari kamera dan jauh lebih buruk daripada yang lama". Jadi pasti serius.

EDIT3 : Diperbarui ke 2.6.32, tetapi masih belum ada peningkatan

EDIT4 : Saya lupa menyebutkan bahwa disk baru adalah ext4, yang lama adalah ext3.

EDIT5 : Masih belum terpecahkan. Saya memiliki papan ASUS P5QL-E P43. Baris dari dmesg yang tampaknya relevan:

[    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                       
Grzenio
sumber
1
Saya juga punya masalah yang sama. Saya menggunakan ubuntu 9,10 64 bit.
Abhijeet Rastogi
1
ada pembaruan untuk ini? masih memiliki masalah? jika demikian, dapatkah Anda memberi tahu kami chipset apa yang digunakan motherboard? sesuatu yang menarik dmesgtentang chipset atau drive? jika Anda memperbaikinya, pertimbangkan untuk memposting artikel sebagai jawaban untuk memberi tahu pembaca di masa mendatang.
quack quixote
@ ~ dukun, belum dipecahkan, silakan lihat edit.
Grzenio

Jawaban:

4

Periksa offset untuk partisi - harus dapat dibagi oleh 4 untuk TELINGA karena mereka memiliki teknologi 4096. Jika tidak - partisi ulang untuk mendapatkan keselarasan dan masalah kinerja harus hilang (drive EARS yang tidak selaras akan melakukan lebih banyak sektor menulis per op).

Rachel
sumber
ooOOOOooo. Kamu pasti sedang mengerjakan sesuatu. keluaran dmesg mengindikasikan mungkin mendeteksi drive sebagai drive sektor 512-byte: "[sda] 2930277168 blok logis 512-byte" .. apakah ada "jumper XP" pada drive yang akan mengatur semacam mode kompatibilitas? ada ... lihat jumper "Format Lanjut" di sini: wdc.custhelp.com/cgi-bin/wdc.cfg/php/enduser/ ... .. yang mungkin memberi tahu OS itu punya sektor 512-byte, pastikan tidak set.
quack quixote
terima kasih atas jawabannya. Bisakah Anda memberi tahu saya bagaimana cara memeriksa offset? Bisakah saya memindahkan partisi saja, atau saya harus membuatnya ulang?
Grzenio
Apakah ada cara untuk memeriksa offset pada partisi? Perintah yang bisa dijalankan?
Warren P
Anda dapat menggunakan gdisk untuk memeriksa offset partisi - rodsbooks.com/gdisk
James Sumners
4

Saya memiliki masalah pembekuan serupa ketika melakukan banyak IO disk. Selama cadangan, desktop membeku selama beberapa detik lagi dan lagi sampai cadangan selesai.

Itu tidak terkait dengan penyelarasan atau penyetelan hdparm (meskipun saya setuju itu akan membantu).

Penguncian sistem disebabkan oleh penjadwal IO yang menunda terlalu banyak beberapa IO yang diperlukan oleh aplikasi yang lebih interaktif (Firefox, KDE atau apa pun). Penjadwal IO yang salah adalah cfg .

Untuk mengatasi masalah ini, Anda harus menggunakan penjadwal IO tenggat waktu. Anda mengaktifkannya di disk dengan perintah berikut yang bisa Anda tambahkan di /etc/rc.local :

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

Periksa Mengatasi penguncian sistem Linux ketika I / O disk intensif dilakukan untuk informasi lebih lanjut.

ciceron
sumber
2

Ini masalah dalam kegelapan, tapi saya punya masalah seperti ini beberapa waktu yang lalu, dan penyebabnya adalah bahwa kernel tidak mendukung chipset sepenuhnya dan DMA dimatikan. Periksa dengan

hdparm -i /dev/sda

apakah salah satu mode DMA diaktifkan.

(Solusi dalam hal ini adalah untuk mendapatkan kernel yang lebih baru.)

Peter Eisentraut
sumber
OUTPUT: - Mode DMA: mdma0 mdma1 mdma2 Mode UDMA: udma0 udma1 udma2 udma3 udma4 udma4 udma5 * udma6 jadi, ada apa masalahnya ??
Abhijeet Rastogi
Saya mendapat: Model=WDC, 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=0kB, 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
Grzenio
Tidak ada mode dma yang tampaknya memiliki bintang (ini relevan). Apakah itu penting? Bagaimana saya bisa mengkonfigurasinya?
Grzenio
Juga saya tidak yakin apakah ini tidak relevan hanya untuk perangkat IDE, karena saya mendapatkan: hdparm -d / dev / sda / dev / sda gagal: HDIO_GET_DMA gagal: ioctl yang tidak sesuai untuk perangkat
Grzenio
@ Grzenio: mode udma6 tampaknya memiliki bintang, apakah itu salah? mungkin ingin mengedit info ini ke dalam posting Anda sehingga Anda dapat memformatnya.
quack quixote
2

Saya mengalami masalah di mana operasi yang melakukan banyak panggilan fsync (2) akan menyebabkan perlambatan sistem utama. Dalam kasus saya, saya menjalankan dengan partisi root saya yang terkandung dalam LVM yang terkandung dalam LUKS. Apakah Anda menggunakan LVM atau LUKS?

Alat yang dapat membantu menentukan dengan tepat apa yang sedang mengunyah disk Anda (bukan hanya "menginstal paket") disebut iotop. Saya sarankan menjalankannya saat Anda melakukan salah satu tugas ini, dan mungkin menunjukkan beberapa proses latar belakang lain yang mungkin memicu pada saat yang sama dan menyedot semua throughput I / O Anda.

pioto
sumber
Hai, maaf atas jawaban yang terlambat: iotop mengatakan bahwa [jbd2 / sda3-8] menggunakan 80% -99% IO, tetapi disk baca, tulis dan tukar adalah 0,0 pada saat yang sama. Ada ide?
Grzenio
Secara umum, memeriksa fsync yang berlebihan adalah hal yang baik untuk diperiksa. Namun dalam hal ini perangkat lunak yang sama berkinerja jauh lebih baik pada perangkat keras lain (T60 lama), sehingga lebih mirip masalah dengan kombinasi driver-perangkat keras tertentu. Tetap bagus untuk mengingat hal ini.
sleske
2

sudo fdisk -u / dev / sda

Itu akan memberi Anda starting offset. Saya 'pikir' Anda dapat membuat partisi menggunakan fdisk -o 64 atau sesuatu - saya harus google sehingga saya akan membiarkan Anda melakukan googling pada fdisk dan secara manual mengatur offset partisi (default adalah 63 jadi itu tidak baik).

dan ya disk akan ditampilkan dengan sektor 512b karena berpura-pura seperti itu ke OS - Vista / W7 menangani ini dengan mengatur offset yang benar, tapi XP dan saya pikir hampir semua distro linus jangan :( secara manual adalah satu-satunya cara sepertinya (milik saya hanyalah drive penyimpanan dan dibuat di win7 / ntfs jadi tidak masalah bagi saya)

Sunting: - Menemukan posting yang bagus di wdc - ini seharusnya membuat Anda aktif dan beroperasi dalam waktu singkat :)

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


sumber
Hai, saya mendapat: grzes: / home / ga # fdisk -u / dev / sda Jumlah silinder untuk disk ini diatur ke 182401. Tidak ada yang salah dengan itu, tapi ini lebih besar dari 1024, dan bisa dalam pengaturan tertentu menyebabkan masalah dengan: 1) perangkat lunak yang berjalan saat boot (mis., versi lama LILO) 2) perangkat lunak boot dan partisi dari OS lain (mis., DOS FDISK, OS / 2 FDISK) Perintah (m untuk bantuan):
Grzenio
Saya akhirnya berhasil menyelesaikannya, tetapi itu tidak benar-benar membantu :( Masalah sebenarnya harus di tempat lain.
Grzenio
1

Hanya bidikan acak, yang tampaknya bodoh mengingat Anda menggunakan Debian ... tapi saya menemukan bahwa itu membantu seseorang dengan model HDD yang sama: sudahkah Anda mencoba memperbarui BIOS?

liori
sumber
Tidak, belum. Pantas untuk dicoba mungkin
Grzenio
1

Sebagai aturan umum, jika Anda dapat menggunakan hdparm pada perangkat, itu adalah antarmuka ATA "lama", vs. antarmuka SATA / SCSI yang lebih baru. Jika itu masalahnya, maka masalahnya mungkin bahwa ops disk selama interupsi tidak diaktifkan secara default. Ini adalah masalah umum pada beberapa mesin yang menggunakan antarmuka ATA yang lebih lama dan akan menurunkan kinerja disk atau sistem selama operasi I / O yang berat.

Anda harus mencoba ini:

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

Jika Anda tidak melihat peningkatan kinerja pada menjalankan pengaturan waktu ke-2 (perintah ketiga) maka ada sesuatu yang terjadi.

Faktor lain adalah mengharapkan mode UDMA6 berfungsi melalui kabel non-UDMA (dengan asumsi itu bukan antarmuka SATA). Jika Anda menggunakan kabel ATA 80-pin, Anda baik-baik saja; jika Anda menggunakan 40-pin yang lebih tua, Anda akan mendapatkan semua jenis kesedihan. Jika kabelnya lebih tua dari 40-pin, Anda harus menurunkan kecepatan transfer ke sesuatu yang dapat didukung "dengan aman". PERINGATAN: menyesuaikan antarmuka IDE dapat menggantung drive dan / atau antarmuka, dan jika drive adalah sistem file root Anda, seluruh sistem akan menggantung dengannya!

Jika Anda perlu menurunkan kecepatan transfer agar sesuai dengan perangkat keras, coba yang berikut ini:

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

Sekali lagi, waktu kedua (perintah ketiga dikeluarkan) harus menunjukkan peningkatan.

Terakhir, drive itu sendiri mungkin marginal, tetapi tanpa pelaporan SMART, Anda mungkin tidak melihat masalah (sampai terlambat). Saya sangat merekomendasikan untuk menginstal smartmontoolspaket untuk membantu Anda, terutama jika Anda memiliki drive yang lebih tua yang akan membutuhkan sedikit TLC sekarang dan kemudian.

sudo apt-get update && apt-get install smartmontools

JIKA semuanya gagal, cari /var/log/messageskesalahan I / O disk.


Memperbarui:

Tampaknya Anda tidak sendirian. Ada papan pesan di seluruh internet yang melaporkan semua jenis sakit hati dengan unit-unit ini.

Ada juga menyebutkan drive menggunakan ukuran sektor 4k vs ukuran 512 byte "tradisional". Saya hanya bisa membayangkan masalah apa yang harus ditimbulkan.

Terakhir, melihat output Anda lagi, tampaknya utas penjurnalan cukup mengikat sistem. Sistem file non-jurnal mungkin untuk sementara meringankan masalah, tetapi ini adalah profilaksis terbaik, dan tidak memperbaiki masalah paling buruk.

Avery Payne
sumber
Hai, terima kasih atas balasan anda. (1) Ini adalah drive SATA dan terhubung menggunakan kabel sata tipis ke antarmuka sata di mainboard. (2) Mencoba tes pertama, dan kinerja benar-benar menurun dari 90,93 MB / detik menjadi 52,50 MB / detik. Performa membaca mentah tampaknya bukan masalah (90MB adalah apa yang saya harapkan dari drive ini), hanya saja beberapa operasi kecil membekukan sistem
Grzenio
Tes kedua juga tidak benar-benar meningkatkan apa pun. Dalam kasus pertama dan kedua sebagian besar parameter gagal diatur: hdparm -d 1 -X mdma2 / dev / sda / dev / sda: pengaturan menggunakan_dma ke 1 (aktif) HDIO_SET_DMA gagal: ioctl yang tidak sesuai untuk pengaturan perangkat xfermode untuk 34 (mode DMA multi-kata2) HDIO_DRIVE_CMD (setxfermode) gagal: Pertukaran salah HDIO_GET_DMA gagal: ioctl yang tidak sesuai untuk perangkat
Grzenio
Saya menginstal smartmontools kemarin, tetapi saya tidak tahu bagaimana menggunakannya. Bisakah Anda memberikan sedikit lebih detail?
Grzenio
Aduh. Jadi hard drive baru akan menjadi ide bagus.
Warren P
1

Ini akhirnya diperbaiki! Seperti yang ditunjukkan oleh @Rachel, masalahnya memang adalah penyelarasan dengan sektor 4kb, tapi sayangnya artikel yang ditautkan tidak benar :(

Cara yang benar untuk menyelaraskan partisi ada di sini: http://www.linuxconfig.org/linux-wd-ears-advanced-format

Dan artikel ini memberikan patokan yang cukup bagus sehingga Anda dapat memeriksa apakah tabel partisi Anda benar: http://article.gmane.org/gmane.linux.utilities.util-linux-ng/2955

Sebagai tambahan, jika Anda memiliki drive ini dan menggunakan Linux, Anda juga HARUS menambah salah satu timer idle seperti dijelaskan di sini: 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

Grzenio
sumber
Tautan ke-2 tidak berfungsi sebagai pengganti apa pun?
xliiv