Quand mon disque gratte trop mon systeme se fige un instant

Yop,

Quand l’accès au disque dur et bourrin (suppression de videos de quelques giga ou des isos de 700Mo) mon système se fige quelques instants.

J’utilise un kernel 2.6.17 b[/b] sur du nForce 4 et un 80Go en IDE.
Au début je pensais au DMA mais se n’est pas le problème, je suis tombé sur des iowait en fouinant sur Google mais je ne sais pas du tout ce que c’est…
Ca pourrait être un problème IRQ ?

Voila un atop :

ATOP - serveur 2006/09/14 20:40:27 2 seconds elapsed PRC | sys 0.37s | user 1.60s | #thr 195 | #zombie 1 | #exit ? | CPU | sys 16% | user 82% | irq 2% | idle 0% | wait 0% | MEM | tot 1.0G | free 105.5M | cache 354.5M | buff 61.8M | slab 40.0M | SWP | tot 1.4G | free 1.3G | | vmcom 1.2G | vmlim 1.9G | PAG | scan 0/s | stall 0/s | | swin 0/s | swout 0/s | DSK | hda | busy 19% | read 13/s | write 14/s | avio 7 ms | DSK | sda | busy 3% | read 6/s | write 0/s | avio 5 ms | DSK | hdc | busy 0% | read 0/s | write 0/s | avio 0 ms | DSK | sdb | busy 0% | read 0/s | write 0/s | avio 0 ms | NET | transport | tcpi 152/s | tcpo 144/s | udpi 2/s | udpo 2/s | NET | network | ipi 154/s | ipo 146/s | ipfrw 0/s | deliv 154/s | NET | dev eth0 | pcki 152/s | pcko 144/s | in 388 Kbps | out 740 Kbps | NET | dev lo | pcki 2/s | pcko 2/s | in 1 Kbps | out 1 Kbps |
Merci d’avance. :slightly_smiling:

Ce n’est pas forcément un “problême”. Ton inteface graphique peut se trouver en famine de processeur parceque tout est monopolisé pour le disque qui sature en interruptions légitimes.Tu peux peut être jouer sur le mode preemptif de ton noyau.

Hum, je vais compiler le noyau avec le mode preemptif alors.
Merki, si vous avez d’autres idées. :slightly_smiling:

[quote=“goldyfruit”]Hum, je vais compiler le noyau avec le mode preemptif alors.
Merki, si vous avez d’autres idées. :slightly_smiling:[/quote]Ou le contraire, je ne sais plus lequel est optimisé pour quoi.

Hum mon iowait est toujours très solicité, je ne sais pas trop ou chercher.

Tu as 3 fonctionnements preemptifs différents, de ce que j’ai cru voir dans les noyaux récents, et une série de composants qui me semblent correspondre à divers algos d’ordonancement multiproc (chargeables en modules, si je ne m’abuse, dc modinfo est ton ami).
Mais c’est peut être du coté du disque qu’il y a des choses à faire. Je ne suis pas fort sur le hard.

Et il me vient à l’idée aussi que ça pourrait être un problême de swap (qui gratte le disque, souvent).

23:52 cartman@serveur ~% free -m total used free shared buffers cached Mem: 1008 971 37 0 55 420 -/+ buffers/cache: 495 513 Swap: 1427 11 1416
J’ai un autre moyen de vérfier si ça swap ou pas ?
J’ai quand même 1Go de ram sur le serveur. :confused:

Ca n’a pas l’air de swapper.
Je n’sais pas.

Essaye de tester ton disque via smartmontools, une erreur IDE peut accaparer le CPU: Cela arrive avec les CDs rayés avec les symptomes que tu décris. essayes de voir les dernières erreurs d’IO rencontrées (donc regardes ton syslog également)

Et aussi as tu fais une verification de tes système de fichiers?

#touch /forcefsck #reboot

Ca m’est arrivé, c’etait des erreurs ext3.

[quote=“fran.b”]Essaye de tester ton disque via smartmontools, une erreur IDE peut accaparer le CPU: Cela arrive avec les CDs rayés avec les symptomes que tu décris. essayes de voir les dernières erreurs d’IO rencontrées (donc regardes ton syslog également)[/quote]Si c’est le cas, tu dois pouvoir voir l’erreur dés le boot avec des messages console lors du montage des hd.

Smartmontools c’est bien sauf que ca te previent des erreurs lorsqu’il est trop tard…

En fait goldyfruit en y repensant je vois soit un problème de système de fichiers (faire un forcefsck), soit un disque defectueux (smartmontools et lancer badblocks et avoir du temps devant soit), soit une mauvaise conf du noyau (prendre un noyau standard debian pour verifier)

Pour info mon dd a des secteurs deffectueux depuis plusieurs mois. C’est tres dependant du disque.
La derniere fois j’ai vu 2 maxtor peter en 2 mois. Premier secteur deffectueux et 5mn après disque completement foutu.

Alors voici le résultat d’un smartcl -a /dev/hda

[code]smartctl version 5.36 [i686-pc-linux-gnu] Copyright © 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Model Family: Hitachi Deskstar 7K250 series
Device Model: HDS722580VLAT20
Serial Number: VNR81FC2S68X1L
Firmware Version: V32OA60A
User Capacity: 82 348 277 760 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 6
ATA Standard is: ATA/ATAPI-6 T13 1410D revision 3a
Local Time is: Fri Sep 15 20:20:30 2006 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 38) seconds.
Offline data collection
capabilities: (0x1b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
No Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 1) minutes.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 093 093 060 Pre-fail Always - 917528
2 Throughput_Performance 0x0005 100 100 050 Pre-fail Offline - 0
3 Spin_Up_Time 0x0007 117 117 024 Pre-fail Always - 180 (Average 160)
4 Start_Stop_Count 0x0012 100 100 000 Old_age Always - 889
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 100 100 020 Pre-fail Offline - 0
9 Power_On_Hours 0x0012 098 098 000 Old_age Always - 20616
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 606
192 Power-Off_Retract_Count 0x0032 099 099 050 Old_age Always - 1730
193 Load_Cycle_Count 0x0012 099 099 050 Old_age Always - 1730
194 Temperature_Celsius 0x0002 148 148 000 Old_age Always - 37 (Lifetime Min/Max 18/55)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 66

SMART Error Log Version: 1
ATA Error Count: 1
CR = Command Register [HEX]
FR = Features Register [HEX]
SC = Sector Count Register [HEX]
SN = Sector Number Register [HEX]
CL = Cylinder Low Register [HEX]
CH = Cylinder High Register [HEX]
DH = Device/Head Register [HEX]
DC = Device Command Register [HEX]
ER = Error register [HEX]
ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It “wraps” after 49.710 days.

Error 1 occurred at disk power-on lifetime: 18831 hours (784 days + 15 hours)
When the command that caused the error occurred, the device was active or idle.

After command completion occurred, registers were:
ER ST SC SN CL CH DH


84 51 00 00 00 00 e0 Error: ICRC, ABRT at LBA = 0x00000000 = 0

Commands leading to the command that caused the error were:
CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name


25 00 01 00 00 00 e0 00 00:00:13.400 READ DMA EXT
b0 da 00 00 4f c2 e0 00 00:00:13.300 SMART RETURN STATUS
b0 d2 00 00 4f c2 e0 00 00:00:13.200 SMART ENABLE/DISABLE ATTRIBUTE AUTOSAVE
b0 d8 00 00 4f c2 e0 00 00:00:13.200 SMART ENABLE OPERATIONS
91 00 3f 00 00 00 ef 00 00:00:13.200 INITIALIZE DEVICE PARAMETERS [OBS-6]

SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error

1 Extended offline Completed without error 00% 9349 -

Device does not support Selective Self Tests/Logging[/code]
Je vais tester le solution du linux-image.

Tu n’as pas eteint ta machine depuis 784 jours :open_mouth:

Ben c’est un peu un mytho smartctl. :confused:
J’ai vu ça dans l’erreur mais je pige pas trop son délire.

Je pense que ça ne compte pas les reboots, mais ça veut quand même dire 784 jours sans le débrancher.
Tu te rends compte du nombre d’ours que tu as tués ?

bah c’est un serveur… les ours ils vont faire quoi quand ils auront plus blog hébergé gratos chez goldyfruit ?

Le serveur a été éteint quelques minutes il y a quelques jours pour le changement d’un lecteur donc smartmontool bedave un peu trop.

Non, cela signifie qu’il y a eu une erreur importante il y a 784 jours soit 18831 heures.
Error 1 occurred at disk power-on lifetime: 18831 hours (784 days + 15 hours)

Comme le disque dur a un age de 20616 heures d’allumage

Power_On_Hours 0x0012 098 098 000 Old_age Always - 20616

soit en gros après 82 jours d’utilisation, ça fait un bail. En clair il marche bien…

Pour te donner une idée, le disque SATA que j’utilise pour mes données sensibles a été utilisé pendant 32944 heures et a eu 11 erreurs répertoriées (dépassant le cadre du CRC si j’ai bien compris), 5 secteurs ont été relogés.

Smartmontools est très efficace pour la prévention (en gros il te prévient entre 3 jours et 2 heures avant la catastrophe) mais il faut activer le démon et être attentif aux messages. Cela dit, pour le peu que j’arrive à interpréter tes logs, ton disque à l’air bien…

Sinon, MatOTop, les serveurs qu’on ne débranche jamais sont quand même fréquents:

francois@cerbere:~$ w
9:02pm up 105 days, 21:53, 5 users, load average: 3.38, 1.73, 1.08
francois@hercule:~$ w
21:03:23 up 107 days, 22:32, 6 users, load average: 0,00, 0,00, 0,00
… (il y en a plusieurs au lycée, ces deux là sont chez moi et doivent être allumées en permanence…)