Forum Linux.général Disque dur, température et Load_Cycle_Count

Posté par (page perso) .
Tags : aucun
1
17
jan.
2011
Je joue avec hdparm pour essayer de trouver les bonnes valeurs qui évitent à mon disque dur de chauffer et au Load_Cycle_Count de croître hors de proportion. Malheureusement, je ne trouve pas de valeur miracle. En gros, pour toute valeur de l'option apm (-B) de hdparm entre 1 et 127 ou entre 128 et 253, j'ai plus de 100 cycles par heure. Pour 254, j'en ai 0, mais la température grimpe. En gros, avec 254, mon disque atteint les 50°C facilement (et le ventilo se déchaîne), avec d'autres valeurs, il reste en dessous de 45. J'ai l'impression que le spindown_time ne joue pas plus.

Donc, connaissez-vous les valeurs ou options miracles ?

Et s'il n'y a pas de valeurs miracles, y aurait-il un logiciel qui me permettrait de rattraper l'événement température ≥ 50 pour faire baisser le niveau d'apm et l'événement température ≤ 45 pour mettre à 254 ?
  • # config par defaut ?

    Posté par . Évalué à 2.

    et les reglages par defaut de ton OS et de ton disque dur ?

    j'ai jamais chercher à optimiser à ce point là, j'ai toujours fait confiance à mon OS.
    • [^] # Re: config par defaut ?

      Posté par (page perso) . Évalué à 3.

      Les valeurs par défaut m'ont fait atteindre 250000 de Load_Cycle_Count en 6 mois, donc il était temps de faire quelque chose (d'après des gens sur internet, dans sa vie, un disque dur en fait de 300000 à 600000).
      • [^] # Re: config par defaut ?

        Posté par . Évalué à 5.

        Je partage la même contradiction.
        Ici j'ai choisi la température plutôt que les cycles.320 (en fait j'ai choisi la valeur 250, et non 254 ce qui fait que le nb de cycle, et donc de la supposée durée de vie du disque, ne bouge que très peu, un rythme qui me semble normal, à vue de nez cinq/six ans de vie).
        La température ne monte que peu (entre 36°c et 42°c, tout va bien) -> c'est pour réguler cette température que je fais confiance à l'o.s. Quant au disque dur, ben la question a déjà été abordée à maintes reprises ces dernières années, et ici sur dlfp assez récemment encore.

        à la question > y aurait-il un logiciel qui me permettrait de rattraper l'événement température ≥ 50 pour faire baisser le niveau d'apm et l'événement température ≤ 45 pour mettre à 254 ? Oui c'est laptop-mode, qui permet de prendre en entrée tes propres scripts par exemple. Tu peux ajouter un dossier "actions", s'il n'existe pas déjà, dans /etc/acpi et y ajouter ton script régulateur.

        Afin de réduire les accès disques, j'ai également fait un tmpfs recouvrant proprement /tmp /var/tmp et /home/$user/tmp, ainsi que divers dossiers contenus dans /home (caches des navigateurs par exemples). La réduction d'utilisation du disque est radicale. En fait c'est peut être le mieux : une tête disque parquée au maximum, et son usage au minimum. Mais j'ai pas poussé jusque là.

        tu notera qu'il ne s'agit pas de conseils, juste de "je, mon expérience"
        • [^] # Re: config par defaut ?

          Posté par . Évalué à 2.

          Le coup du tmpfs je crains que ce soit une fausse bonne idée. Tu vas réduire la taille du cache disque (qui lui stockera les données que tu utilises réellement, sans distinction de répertoire). Et pour le cache des navigateurs, la plupart d’entre eux proposent une option pour le désactiver.
          • [^] # Re: config par defaut ?

            Posté par . Évalué à 2.

            Oups, j’ai rien dit : tmpfs utilise aussi le swap selon wikipedia. :)
            • [^] # Re: config par defaut ?

              Posté par . Évalué à 1.

              tmpfs utilise la mémoire, si celle-ci vient à manquer, alors les données vont être écrites sur le swap, en commençant par les zones utilisées le moins récemment. Les vieux fichiers qui trainent depuis un moment dans /tmp ont donc toutes les chances d'être éligibles.
      • [^] # Re: config par defaut ?

        Posté par . Évalué à 2.

        il doit y avoir un probleme d'echelle...

        si ton disque fait deja 250.000 LoadCycle en 6 mois
        et que la durée de vie estimé est de 300.000 à 600.000
        ca ferait à peine un an ?

        c'est quoi comme disque ?

        en fait ce n'est pas tant les load_cycle que les power_hours et le ratio que cela donne

        sudo smartctl -a /dev/sda|grep "\(Load_Cycle_Count\|Power_On_Hours\)"
        9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 568
        193 Load_Cycle_Count 0x0032 198 198 000 Old_age Always - 7926

        Divide the value of the latter (load_cycle) with the former (Power_on).
        Under any circumstances you should not have more then 15 load cycles per hour.
        Otherwise apply the following changes to avoid damaging your drive.

        Depending on model, disks usually give up between 100k and 600k load cycles.


        et suivant les distributions il y avait effictivement un probleme de spindown trop frequent, avec un reveil juste apres
        • [^] # Re: config par defaut ?

          Posté par (page perso) . Évalué à 1.

          > c'est quoi comme disque ?

          Western Digital Scorpio Blue Serial ATA family

          > il doit y avoir un probleme d'echelle.

          Ben oui, avec tout sauf apm=254, il fait plus de 100 LoadCycle par heure (contre 15 comme valeur maxi acceptable), donc sa durée de vie est a priori 7 fois moindre que ce qu'on pourrait attendre. Là, depuis 10 mois, il est à 2 LoadCycles par jour, et la moyenne est encore de 60 par heure.
          • [^] # Re: config par defaut ?

            Posté par (page perso) . Évalué à 3.

            J'ai le même probleme avec le disque dur de mon ordinateur portable (Dell vostro), j'ai du ajouter un script au boot pour changer la valeur de l'apm sinon j'entend un "click" toutes les 10 secondes...
            A l'époque ou je l'ai acheté (il y a 3 ans), beaucoup de gens en parlait, je me demande si ce n'est pas un default du firmware...
            • [^] # Re: config par defaut ?

              Posté par . Évalué à 2.

              A l'époque ou je l'ai acheté (il y a 3 ans), beaucoup de gens en parlait, je me demande si ce n'est pas un default du firmware...
              c'etait un probleme laptop-mode, apm et distribution

              les parametres posés par la distribution etait trop "agressif"
              - spin down trop rapide
              - puis un reveil pour un acces disque, swap, donnée...

              il suffisait de rallonger le delai avant le spindown
        • [^] # Re: config par defaut ?

          Posté par (page perso) . Évalué à 1.

          Sur mon laptop :


          Device Model: SAMSUNG HM500JI

          9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 9907
          225 Load_Cycle_Count 0x0032 001 001 000 Old_age Always - 7770229


          Je dois m'inquiéter ? :þ

          Surtout qu'à l'époque (<< 1M) j'avais essayé de l'empêcher de parquer ses têtes en permanence. Et quoi que j'aie pu faire, il les parque toutes les 5s en moyenne...
          Ça fait un bon moment que le level est à 1 aussi... Mais pour le coup, 7.7M ça me paraît bien loin des 600k.
          • [^] # Re: config par defaut ?

            Posté par . Évalué à 2.

            comme dit plus haut, il faut comparer le 7M avec le 9907 au dessus

            7.770.229 / 9907 = 784

            soit largement superieur au 15 preconisés sur les sites web.
  • # Résultats de mes investigations

    Posté par . Évalué à 1.

    J’ai eu le même problème très récemment. J’étais tombé sur une page qui expliquait assez bien le problème et qui tordait le cou à certaines idées reçue : difficile de savoir la vérité à ce sujet, mais ce que j’ai vécu confirme plutôt ce que j’y ai lu et je livre donc les conclusions, assez spéculatives, ici.

    Mon disque dur présentait des signes évidents de fatigue : messages du noyau linux comme quoi il n’arrivait pas à lire sur le disque dur, toujours au même positions, les self-test smartctl -t me retournait des erreurs et le fameux Load_Cycle_Count rendu à plus de 1 000 000.

    Premier point : il se peut que le Load_Cycle_Count retourné ne soit pas correct, il faut aussi regarder la colonne VALUE qui est un pourcentage (load_cycle_count disponible / load_cycle_count maximal), s’il tombe à 0 c’est pas bon du tout… Second point : il est indicatif, on peut tomber en panne largement en-dessous comme être largement au-dessus et parfaitement fonctionnel, prenez toutefois vos précautions, mais il va de soit que vous faites des sauvegardes régulièrement !

    J’ai donc changé ce disque dur. Là encore quelques idées reçues qui semblent fausses : ce n’est pas nécessairement le paramétrage trop aggressif de Linux qui est en cause, en fait ça dépend totalement de l’ensemble (disque dur, ordinateur, os), il faut bien se dire que le fabricant a lui même mis en place une valeur par défaut, et que les bios des portables ne doivent sûrement pas se priver de régler ce genre de détails. En effet, sans activer aucun mode d’économie d’énergie sur ma distribution ou au niveau du noyau Linux je me retrouve toujours avec un ratio load_cycle_count / heure bien trop élevé (> 20—30) et le disque dur a son économie d’énergie activée (hdparm -B /dev/sda retourne 128).

    La solution est alors de régler le niveau d’économie d’énergie avec hdparm. Personellement, le passer à 254 a définitivement réglé mon problème, sans que la température ne dépasse les 39° C. Il faut ensuite faire un script : là attention! il faut penser au démarrage de l’ordinateur, mais aussi à la sortie de veille (suspend-to-ram et suspend-to-disk) ; les distributions proposent normalement le moyen de régler ça, mais il faut mettre les mains dans le cambouis.

    Votre problème est que ça chauffe. Ce que je ferais c’est d’accepter une valeur d’économie d’énergie faible (genre 128). Il y a ensuite des moyens de « limiter la casse » du Load_Cycle_Count : il s’agira de limiter les accès disque. Le mieux est de chercher du côté des économies d’énergies, et c’est ce que j’ai fait. Mais ça créé d’autres problèmes, il faudra donc faire un compromis. Par exemple, j’ai mis l’option relatime au montage des partition, j’ai augmenté la valeur de /proc/sys/vm/dirty_writeback_centisecs à 1500 (mais on peut aller au-delà si on veut, sur un portable avec batterie on peut se permettre de ne pas craindre les coupures), désactiver le swap peut être une idée aussi (quoi que de mon expérience, swap ⇒ cache disque plus grand ⇒ moins d’accès disque) et enfin il faut faire la chasse aux programmes qui réclament régulièrement des accès disques pour soit les supprimer, soit les configurer correctement (par exemple tout ce qui surveille activement la modification sur des fichiers est à bannir, il y a inotify pour ça, ou à défaut augmenter l’intervalle et râler/déposer un rapport de bug).
    • [^] # Re: Résultats de mes investigations

      Posté par . Évalué à 1.

      PS : as-tu essayé hdparm avec l’option
      -S Put the drive into idle (low-power) mode, and also set the standby (spindown) timeout for the drive. This timeout value is used by the drive to determine how long to wait (with no disk activity) before turning off the spindle motor to save power. Under such circumstances, the drive may take as long as 30 seconds to respond to a subsequent disk access, though most drives are much quicker. The encoding of the timeout value is somewhat peculiar. A value of zero means "time‐outs are disabled": the device will not automatically enter standby mode. Values from 1 to 240 specify multiples of 5 seconds, yielding timeouts from 5 seconds to 20 minutes. Values from 241 to 251 specify from 1 to 11 units of 30 minutes, yielding timeouts from 30 minutes to 5.5 hours. A value of 252 signifies a time‐out of 21 minutes. A value of 253 sets a vendor-defined timeout period between 8 and 12 hours, and the value 254 is reserved. 255 is interpreted as 21 minutes plus 15 seconds. Note that some older drives may have very different interpretations of these values.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.