Festplattenoperationen frieren Debian ein

12

Ich habe gerade Debian-Tests auf meinem neuen Desktop installiert und bin mit der Leistung nicht sehr zufrieden. Wenn ich einen festplattenintensiven Vorgang durchführe, z. B. Upgrade-Pakete im System, scheint alles einzufrieren, z. B. dauert das Wechseln der Registerkarten in Iceweasel 3 Sekunden. Ich verwende das Debian auf meinem 3 Jahre alten Thinkpad X60 ultra-portable und habe diese Probleme nicht. (Jeder einzelne Parameter des Laptops ist viel schlechter als der Desktop).

Ich verwende den standardmäßig gepackten Kernel und die Skripte.

ich renne

hdparm -t /dev/sda1

Und ich habe ungefähr 96 GB / s, was erwartet wird. Was kann ich sonst noch versuchen, damit es besser funktioniert?

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 : Sogar meine Frau sagte: "Auf diesem neuen Computer kann ich nichts tun, wenn ich die Fotos von der Kamera kopiere und es ist viel schlimmer als auf dem alten." Es muss also ernst sein.

EDIT3 : Aktualisiert auf 2.6.32, aber immer noch keine Verbesserung

EDIT4 : Ich habe vergessen zu erwähnen, dass die neue Festplatte ext4 ist, die alte ext3.

EDIT5 : Immer noch nicht gelöst. Ich habe eine P43 ASUS P5QL-E-Karte. Zeilen von dmesg, die relevant erscheinen:

[    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
quelle
1
Ich habe auch das gleiche Problem. Ich benutze Ubuntu 9.10 64 Bit.
Abhijeet Rastogi
1
irgendwelche Updates dazu? Haben Sie immer noch das Problem? Wenn ja, können Sie uns mitteilen, welchen Chipsatz das Motherboard verwendet? Was ist interessant in dmesgBezug auf den Chipsatz oder das Laufwerk? Wenn Sie es irgendwie behoben haben, sollten Sie eine Beschreibung als Antwort veröffentlichen, um zukünftige Leser zu informieren.
Quacksalber Quijote
@ ~ Quacksalber, noch nicht gelöst, siehe Bearbeiten.
Grzenio

Antworten:

4

Überprüfen Sie den Versatz für die Partition - muss für EARS durch 4 teilbar sein, da sie über die 4096-Technologie verfügen. Wenn dies nicht der Fall ist, sollten Sie es neu partitionieren, um Ausrichtungs- und Leistungsprobleme zu beheben (falsch ausgerichtete EARS-Laufwerke führen pro Operation viel mehr Sektorschreibvorgänge aus).

Rachel
quelle
ooOOOOooo. Sie könnten auf etwas sein. Die dmesg-Ausgabe zeigt an, dass das Laufwerk möglicherweise als 512-Byte- Sektorlaufwerk erkannt wird : "[sda] 2930277168 512-Byte-Logikblöcke" . Befindet sich auf dem Laufwerk ein "XP-Jumper", der eine Art Kompatibilitätsmodus festlegen würde? Es gibt ... siehe "Advanced Format" -Jumper hier: wdc.custhelp.com/cgi-bin/wdc.cfg/php/enduser/… .., der dem Betriebssystem wahrscheinlich mitteilt, dass es 512-Byte-Sektoren hat, stellen Sie sicher, dass dies nicht der Fall ist einstellen.
Quacksalber Quijote
Danke für deine Antwort. Können Sie mir sagen, wie ich den Offset überprüfe? Kann ich die Partition einfach verschieben oder muss ich sie neu erstellen?
Grzenio
Gibt es eine Möglichkeit, den Offset auf der Partition zu überprüfen? Ein Befehl, der ausgeführt werden könnte?
Warren P
Sie können gdisk verwenden, um Partitionsversätze zu überprüfen - rodsbooks.com/gdisk
James Sumners
4

Ich hatte ein ähnliches Einfrierproblem, als ich viele Festplatten-E / A-Vorgänge ausführte. Während einer Sicherung fror der Desktop immer wieder einige Sekunden lang ein, bis die Sicherung abgeschlossen war.

Es war weder mit einer Ausrichtung noch mit einem HDPAR-Tuning verbunden (obwohl ich damit einverstanden bin, dass es helfen wird).

Die Systemblockierung wurde durch den E / A-Scheduler verursacht, der einige E / A-Vorgänge, die für interaktivere Anwendungen (Firefox, KDE oder was auch immer) erforderlich sind, zu stark verzögert. Der fehlerhafte IO-Scheduler war cfg .

Um das Problem zu lösen, müssen Sie den Deadline IO Scheduler verwenden. Sie aktivieren es auf einer Festplatte mit dem folgenden Befehl, den Sie in /etc/rc.local hinzufügen können :

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

Überprüfen Lösen Linux Systemsperre auf , wenn intensive Disk - I / O ausgeführt werden für weitere Informationen.

Ciceron
quelle
2

Es ist ein Schuss in die Dunkelheit, aber ich hatte vor einiger Zeit ein Problem wie dieses, und es stellte sich heraus, dass der Kernel den Chipsatz nicht vollständig unterstützte und DMA ausgeschaltet war. Überprüfen Sie mit

hdparm -i /dev/sda

ob einer der DMA-Modi aktiviert ist.

(Die Lösung in diesem Fall bestand darin, einen neueren Kernel zu erhalten.)

Peter Eisentraut
quelle
AUSGABE: - DMA-Modi: mdma0 mdma1 mdma2 UDMA-Modi: udma0 udma1 udma2 udma3 udma4 udma5 * udma6 also, was ist das Problem?
Abhijeet Rastogi
Ich habe: 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
Kein DMA-Modus scheint einen Stern zu haben (es ist relevant). Ist das wichtig? Wie kann ich es konfigurieren?
Grzenio
Ich bin mir auch nicht sicher, ob es nicht nur für IDE-Geräte relevant ist, da ich Folgendes erhalte: hdparm -d / dev / sda / dev / sda: HDIO_GET_DMA fehlgeschlagen: Unangemessenes ioctl für Gerät
Grzenio
@Grzenio: Der udma6-Modus scheint einen Stern zu haben, ist das falsch? Vielleicht möchten Sie diese Informationen in Ihrem Beitrag bearbeiten, damit Sie sie formatieren können.
Quacksalber Quijote
2

Ich bin auf Probleme gestoßen, bei denen Vorgänge, die viele fsync (2) -Aufrufe ausführen, zu einer erheblichen Systemverlangsamung führen. In meinem Fall verwende ich meine Root-Partition in LVM in LUKS. Verwenden Sie entweder LVM oder LUKS?

Es wird ein Tool aufgerufen, mit dem Sie genau bestimmen können, was Ihre Festplatten zerkaut (und nicht nur "Pakete installieren") iotop. Ich würde vorschlagen, es auszuführen, während Sie eine dieser Aufgaben ausführen, und es kann auf einen anderen Hintergrundprozess hinweisen, der möglicherweise gleichzeitig ausgelöst wird und Ihren gesamten E / A-Durchsatz aufzehrt.

Pioto
quelle
Hallo, Entschuldigung für eine späte Antwort: iotop sagt, dass [jbd2 / sda3-8] 80% -99% IO verwendet, aber das Lesen, Schreiben und Austauschen von Datenträgern gleichzeitig 0,0 beträgt. Irgendwelche Ideen?
Grzenio
Im Allgemeinen ist die Überprüfung auf übermäßige fsync ein guter Punkt, um zu überprüfen. In diesem Fall funktioniert dieselbe Software jedoch auf anderer Hardware (dem alten T60) viel besser, sodass es eher nach einem Problem mit dieser speziellen Hardware-Treiber-Kombination aussieht. Trotzdem gut, das im Hinterkopf zu behalten.
Sleske
2

sudo fdisk -u / dev / sda

Das sollte Ihnen den Startversatz geben. Ich denke, Sie können die Partition mit fdisk -o 64 oder so etwas erstellen - ich müsste sie googeln, damit Sie auf fdisk googeln und den Partitionsversatz manuell einstellen können (Standard ist 63, das ist also nicht gut).

und ja, die Festplatte wird mit 512b-Sektoren angezeigt, wie es für das Betriebssystem vorgibt - Vista / W7 behandelt dies, indem der richtige Offset eingestellt wird, aber XP und ich denken, dass nahezu alle Linus-Distributionen nicht :( manuell ist der einzige Weg, wie es scheint (meins ist nur ein Speicherlaufwerk und wurde in win7 / ntfs erstellt, daher ist es für mich kein Problem)

Edit: - Habe einen schönen Beitrag bei wdc gefunden - das sollte dich in kürzester Zeit zum Laufen bringen :)

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


quelle
Hallo, ich habe: grzes: / home / ga # fdisk -u / dev / sda Die Anzahl der Zylinder für diese Festplatte ist auf 182401 eingestellt. Daran ist nichts auszusetzen, aber dies ist größer als 1024 und kann in bestimmten Einstellungen auftreten verursachen Probleme mit: 1) Software, die beim Booten ausgeführt wird (z. B. alte Versionen von LILO) 2) Booten und Partitionieren von Software von anderen Betriebssystemen (z. B. DOS FDISK, OS / 2 FDISK) Befehl (m für Hilfe):
Grzenio
Ich habe es endlich geschafft, aber es hat nicht wirklich geholfen :( Das eigentliche Problem muss woanders sein.
Grzenio
1

Nur eine zufällige Aufnahme, die angesichts der Verwendung von Debian dumm erscheint ... aber ich fand, dass sie jemandem mit demselben Festplattenmodell geholfen hat: Haben Sie versucht, Ihr BIOS zu aktualisieren?

liori
quelle
Nein, habe ich nicht.
Aber
1

Als Faustregel gilt: Wenn Sie hdparm auf dem Gerät verwenden können, handelt es sich um die "alte" ATA-Schnittstelle im Vergleich zur neueren SATA / SCSI-Schnittstelle. Wenn dies der Fall ist, besteht das Problem wahrscheinlich darin, dass Festplattenoperationen während Interrupts nicht standardmäßig aktiviert sind. Dies ist ein häufiges Problem auf einigen Computern, die die ältere ATA-Schnittstelle verwenden, und beeinträchtigt die Leistung der Festplatte oder des Systems bei schweren E / A-Vorgängen.

Sie sollten dies wirklich versuchen:

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

Wenn Sie beim zweiten Timing-Lauf (dem dritten Befehl) keine Leistungsverbesserung feststellen, ist noch etwas anderes los.

Ein weiterer Faktor ist die Erwartung, dass der UDMA6-Modus über ein Nicht-UDMA-Kabel funktioniert (vorausgesetzt, es handelt sich nicht um eine SATA-Schnittstelle). Wenn Sie ein 80-poliges ATA-Kabel verwenden, ist alles in Ordnung. Wenn Sie einen älteren 40-Pin verwenden, werden Sie alle Arten von Trauer bekommen. Wenn das Kabel das ältere 40-polige Kabel ist, müssen Sie die Übertragungsrate auf etwas senken, das "sicher" unterstützt werden kann. WARNUNG: Durch Anpassen der IDE-Schnittstelle kann das Laufwerk und / oder die Schnittstelle hängen bleiben. Wenn das Laufwerk Ihr Root-Dateisystem ist, hängt das gesamte System daran!

Wenn Sie die Übertragungsrate entsprechend der Hardware verringern müssen, versuchen Sie Folgendes:

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

Auch hier sollte das zweite Timing (dritter Befehl ausgegeben) eine Verbesserung zeigen.

Schließlich ist das Laufwerk selbst möglicherweise marginal, aber ohne SMART-Berichterstellung wird das Problem möglicherweise nicht bemerkt (bis es zu spät ist). Ich würde wirklich empfehlen, das smartmontoolsPaket zu installieren , um Ihnen zu helfen, insbesondere wenn Sie ein älteres Laufwerk haben, das ab und zu ein wenig TLC benötigt.

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

Wenn alles andere fehlschlägt, suchen Sie /var/log/messagesnach Festplatten-E / A-Fehlern.


Aktualisieren:

Es scheint, dass du nicht allein bist. Überall im Internet gibt es Message Boards, die alle Arten von Herzschmerz mit diesen Einheiten melden.

Es wird auch erwähnt, dass das Laufwerk eine Sektorgröße von 4 KB im Vergleich zur "traditionellen" 512-Byte-Größe verwendet. Ich kann mir nur vorstellen, welche Probleme dies verursachen muss.

Wenn Sie sich Ihre Ausgabe noch einmal ansehen, scheint es, dass der Journaling-Thread das System ziemlich stark bindet. Ein nicht journalisiertes Dateisystem kann das Problem vorübergehend beheben, ist jedoch bestenfalls prophylaktisch und behebt das Problem im schlimmsten Fall nicht.

Avery Payne
quelle
Hallo, danke für deine Antwort. (1) Dies ist ein SATA-Laufwerk, das über ein dünnes SATA-Kabel mit der SATA-Schnittstelle auf dem Mainboard verbunden ist. (2) Versuchte den ersten Test und die Leistung verringerte sich tatsächlich von 90,93 MB / s auf 52,50 MB / s. Die rohe Leseleistung scheint nicht das Problem zu sein (90 MB sind das, was ich von diesem Laufwerk erwarte), es ist nur so, dass einige kleinere Operationen das System einfrieren
Grzenio
Der zweite Test hat auch nichts wirklich verbessert. Sowohl im ersten als auch im zweiten Fall können die meisten Parameter nicht eingestellt werden: hdparm -d 1 -X mdma2 / dev / sda / dev / sda: Einstellung mit_dma auf 1 (ein) HDIO_SET_DMA fehlgeschlagen: Unangemessenes ioctl für die Geräteeinstellung xfermode auf 34 (Mehrwort-DMA-Modus2) HDIO_DRIVE_CMD (setxfermode) fehlgeschlagen: Ungültiger Austausch HDIO_GET_DMA fehlgeschlagen: Unangemessenes Ioctl für Gerät
Grzenio
Ich habe gestern smartmontools installiert, weiß aber nicht, wie ich sie verwenden soll. Könnten Sie etwas mehr Details geben?
Grzenio
Autsch. Eine neue Festplatte wäre also eine gute Idee.
Warren P
1

Dies ist endlich behoben! Wie @Rachel betonte, bestand das Problem zwar in der Ausrichtung auf die 4-KB-Sektoren, aber leider war der verlinkte Artikel falsch :(

Die richtige Methode zum Ausrichten von Partitionen finden Sie hier: http://www.linuxconfig.org/linux-wd-ears-advanced-format

Und dieser Artikel bietet einen ziemlich guten Benchmark, damit Sie überprüfen können, ob Ihre Partitionstabelle korrekt ist: http://article.gmane.org/gmane.linux.utilities.util-linux-ng/2955

Nebenbei bemerkt, wenn Sie dieses Laufwerk haben und Linux verwenden, sollten Sie auch einen der Leerlauf-Timer wie hier beschrieben erhöhen: 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
quelle
2. Link funktioniert kein Ersatz?
23.