GNU/Linux >> Tutoriels Linux >  >> Debian

Debian – Les disques durs tournent par des processus/applications qui obtiennent simplement une liste de disques ? Comment empêcher?

J'ai un serveur domestique sans tête basé sur Debian Jessie, 24 heures sur 24, 7 jours sur 7, qui dispose d'un grand SSD de 1 To pour le système d'exploitation et de tous mes fichiers fréquemment consultés. Ce même système dispose de 4 disques durs plus grands dans une matrice SnapRAID. Ceux-ci sont principalement destinés à l'archivage de Blu-ray rarement consultés et veulent que ces lecteurs restent en veille à moins que je ne les lise ou n'écrive réellement. Ils sont tous formatés en ext4 et montés avec noatime et nodiratime activés.

Ainsi, même si aucun processus ou programme ne devrait accéder régulièrement à ces disques de manière directe, les disques durs sortent constamment du mode veille. Cela semble être lié aux programmes graphiques qui fournissent un navigateur de fichiers gui, même quelque chose comme Chromium. Si je ne navigue même pas dans ces lecteurs, je pense que ces processus en obtenant simplement une liste des lecteurs disponibles font tourner les disques durs. Un peu comme le fait blkid. Le problème est qu'il est difficile d'en déterminer la cause première, car aucun de ces processus ne lit ou n'écrit réellement le système de fichiers sur ces lecteurs, donc aucun fichier ne change ou n'est touché. Existe-t-il une sorte de cache que je peux remplir ou un tampon pour empêcher ces programmes de faire tourner le disque dur simplement en obtenant une liste des disques disponibles ? Honnêtement, cela me rend fou, car je ne trouve pas de moyen fiable de maintenir ces disques en marche même s'il n'y a pas d'accès direct au système de fichiers.

MISE À JOUR  :Grâce à la réponse de Stephen, j'ai pu tracer l'activité du disque sur gvfs et udisques . Il est vraiment dommage que ces processus insistent pour réveiller les disques en veille alors qu'ils ne sont pas réellement consultés pour effectuer de véritables E / S avec le système de fichiers. Jusqu'à présent, je les ai juste désinstallés, sachant que cela supprimera certaines fonctionnalités de PCManFM et autres.

Réponse acceptée :

Vous pouvez utiliser blktrace (disponible dans Debian) pour tracer toute l'activité sur un appareil donné ; par exemple

sudo blktrace -d /dev/sda -o - | blkparse -i -

ou simplement

sudo btrace /dev/sda

affichera toute l'activité sur /dev/sda . La sortie ressemble à

  8,0    3       51   135.424002054 16857  D  WM 167775248 + 8 [kworker/u16:0]
  8,0    3       52   135.424011323 16857  I  WM 209718336 + 8 [kworker/u16:0]
  8,0    3        0   135.424011659     0  m   N cfq496A  / insert_request

La cinquième colonne est l'identifiant du processus, et la dernière donne le nom du processus lorsqu'il y en a un.

Vous pouvez également stocker des traces pour une analyse ultérieure ; blktrace comprend un certain nombre d'outils d'analyse tels que le blkparse mentionné ci-dessus et btt . blktrace est un outil de très bas niveau, il n'est donc peut-être pas si facile de comprendre ce qui a causé l'activité en premier lieu, mais avec l'aide de la documentation incluse (voir /usr/share/doc/blktrace si vous avez installé le paquet Debian) et le blktrace papier, il devrait être possible de comprendre ce qui cause les spin-ups.

Connexe :'rm .*' supprime-t-il jamais le répertoire parent ?
Debian
  1. Comment obtenir les mises à jour LTS pour Debian 6 (Squeeze)

  2. Extension d'un RAID logiciel sur Debian en migrant vers de nouveaux disques durs volumineux

  3. Comment lister tous les packages d'un référentiel sur Ubuntu, Debian ou Linux Mint [APT]

  4. Comment répertorier les processus attachés à un segment de mémoire partagée sous Linux ?

  5. Comment obtenir une liste de répertoires dans un zip ?

Comment rendre Debian Linux plus rapide

Comment installer Wine pour exécuter des applications Windows sur Debian

Comment lister les disques sous Linux

Comment obtenir une liste des applications installées dans Ubuntu Dash ?

Comment installer et gérer Java sur Debian 11

Comment obtenir une liste de liens symboliques sous Linux