• # Un sujet original

    Posté par . En réponse au message Disque en sommeil. Évalué à 1.

    Ce n’est pas tout-à-fait la même problématique, mais je pense que ça devrait t’intéresser. J’avais abandonner à l’époque par manque de RAM, mais j’ai pris quelques notes. Il s’agit d’un portable où le but du jeu et que le disque dur s’arrête au bout de 1/2 minutes et se réveille le moins souvent possible (une fois toutes les 1/2 heures par exemple).

    Attention tout ceci est dangereux en cas d’arrêt brutal de l’ordinateur ! Globalement vaut mieux prévoir un système sur batterie qui puisse s’éteindre proprement. Mais là il n’y a pas d’alternatives : si on ne veut pas utiliser le disque on ne peut pas garantir la sécurité des données.

    Options de montage :
    — noauto_da_alloc empêche la détection automatique des cas pénibles d’écriture/renomage pour conserver le fichier et l’écriture forcée dans ces cas là, à tester ;
    — commit=n en secondes augmente le temps entre les écritures effectives ;
    — relatime évite d’écrire à chaque accès exclusivement en lecture.
    (barrier=0/nobarrier)

    /etc/ld.so.preload doit contenir /usr/lib/libeatmydata/libeatmydata.so pour empêcher les appel à sync de réveiller le disque dur (cf. pb. de Firefox avec Sqlite).

    Contenu du fichier systctl :
    vm.laptop_mode=5 (y compris sur une machine « standard », de souvenir ça oblige à vider les caches en écriture lorsque le disque dur se réveille pour x ou y raison)
    vm.dirty_writeback_centisecs=n00
    vm.swappiness=100
    vm.dirty_ratio=50
    (vm.dirty_background_ratio,vm.dirty_expire_centiseconds,vm.dirty_ratio)

    Un tmpfs pour /tmp dans fstab ?

    Pour surveiller les accès :
    — while [ 1 ]; do; iotop -bn2 -d1 -atoqqq; done ;
    — inotify ;
    — ltrace et strace ;
    — lsof.

    Il y avait encore beaucoup de choses à faire, notamment certains logiciels continuaient à réveiller le disque dur, je n’avais pas pu identifier pourquoi. Mais sur un serveur, une fois les données en cache et en fonction de l’utilisation de la machine ça peut peut-être marcher.