Je veux connecter un autre disque dur à mon ordinateur, que je veux dormir 99% du temps. Je ne l'utilise que pour quelques choses, mais j'ai besoin qu'il soit monté à tout moment.
Pour y parvenir, je voudrais savoir:
- Comment enregistrer les processus qui accèdent à un appareil? J'ai besoin de la journalisation pour pouvoir dire ce qui provoque le réveil du disque dur si c'est le cas, donc je peux agir dessus.
- Y a-t-il des paramètres de noyau spéciaux que je dois faire pour que l'appareil puisse dormir plus longtemps?
- Comment définir les intervalles de veille du disque dur?
la source
http://en.wikipedia.org/wiki/Fuser_%28Unix%29 - fuser est une commande UNIX utilisée pour montrer quels processus utilisent un fichier, un système de fichiers ou un socket spécifié.
http://sourceforge.net/projects/hdparm/ - obtenir / définir les paramètres du lecteur ATA / SATA sous Linux (recherchez l'option -S)
http://sg.danny.cz/sg/sg3_utils.html - Le package sg3_utils contient des utilitaires qui envoient des commandes SCSI aux périphériques. Ainsi que les périphériques sur les transports traditionnellement associés à SCSI (recherchez sg_start)
la source
btrace
oublktrace
(un wrapper debtrace
) suivre les E / S des blocs du noyau et peut vous y aider.la source
lsof +D /path/to/mount
devrait vous montrer chaque processus qui a un fichier ouvert dans le chemin indiqué.la source
J'ai un problème similaire. J'ai un SSD,
/dev/sdb
avec OS (Linux Mint 18.1 basé sur Ubuntu Xenial) et un disque dur/dev/sda
, avec des données que j'utilise de temps en temps. Les deux disques sont cryptés. Les partitions du disque dur ne sont pas montées. Et de toute façon, par périodes de plusieurs minutes, le disque dur se réveille, puis s'endort, puis se réveille à nouveau. Désordre.Voici une question en double avec une réponse utile , qui suggère
auditd
de trouver le processus de mauvais comportement.Ensuite, je force le disque dur à dormir avec
hdparm -Y /dev/sda
. Attendez ensuite que j'entende le disque dur tourner à nouveau. Exécutez ensuiteausearch -f /dev/sda
. Dans mon cas, il affiche des entrées comme les suivantes.La partie pertinente est exe = "/ usr / lib / udisks2 / udisksd" . Bien que j'avais aussi
smartmontools
quismartd
était aussi le coupable. J'ai désinstallésmartmontools
et arrêté leudisk2
service avecservice udisks2 stop
. Après cela, le disque dur dort comme prévu.Notez que
udisks2
cela démarrera automatiquement lorsque, par exemple, j'ouvrirai l' application Disks , je dois donc l'arrêter à nouveau. Un autre inconvénient est que les paramètres SMART ne sont pas surveillés pour les deux disques, ce qui n'est pas bon, mais comme solution de contournement, cela convient.Une autre chose qui n'est pas claire, c'est que ce rapport de bogue indique
udisks2
qu'il ne fait pas de polling des disques, ce qui est maintenant fait par le noyau. Mais les preuves semblent indiquer le contraire.la source