GNU/Linux >> Tutoriales Linux >  >> Debian

Debian:¿los discos duros giran por procesos/aplicaciones que simplemente obtienen una lista de discos? ¿Como prevenir?

Tengo un servidor doméstico sin periféricos basado en Debian Jessie que funciona las 24 horas del día, los 7 días de la semana y que tiene una gran SSD de 1 TB para el sistema operativo y todos mis archivos a los que accedo con frecuencia. Este mismo sistema tiene 4 unidades de disco duro más grandes en una matriz SnapRAID. Estos son principalmente para archivar Blu-rays a los que se accede con poca frecuencia y quieren que esas unidades permanezcan giradas en espera a menos que realmente las lea o escriba. Todos están formateados como ext4 y montados con noatime y nodiratime habilitados.

Por lo tanto, aunque ningún proceso o programa debería acceder regularmente a esas unidades de forma directa, las unidades de disco duro se activan constantemente desde el modo de espera. Parece estar relacionado con programas gráficos que proporcionan un explorador de archivos de interfaz gráfica de usuario, incluso algo como Chromium. Si ni siquiera busco en esas unidades, estoy pensando que estos procesos al simplemente obtener una lista de unidades disponibles hacen girar los discos duros. Al igual que lo hace blkid. El problema es que es difícil determinar la causa raíz de esto, ya que ninguno de estos procesos está leyendo o escribiendo en el sistema de archivos en esas unidades, por lo que ningún archivo está cambiando o siendo tocado. ¿Hay algún tipo de caché que pueda llenar o un búfer para evitar que estos programas hagan girar el disco duro simplemente obteniendo una lista de discos disponibles? Honestamente, esto me está volviendo loco, ya que no puedo encontrar una forma confiable de mantener estos discos desactivados a pesar de que no hay acceso directo al sistema de archivos.

ACTUALIZAR :gracias a la respuesta de Stephen, pude rastrear la actividad del disco hasta gvfs y udiscos . Es una verdadera lástima que estos procesos insistan en activar los discos en modo de espera cuando en realidad no se accede a ellos para realizar operaciones de E/S reales con el sistema de archivos. Hasta ahora solo los desinstalé, sabiendo que eliminaría algunas funciones de PCManFM y similares.

Respuesta aceptada:

Puedes usar blktrace (disponible en Debian) para rastrear toda la actividad a un dispositivo dado; por ejemplo

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

o simplemente

sudo btrace /dev/sda

mostrará toda la actividad en /dev/sda . La salida parece

  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 quinta columna es el identificador del proceso, y la última da el nombre del proceso cuando lo hay.

También puede almacenar trazas para su posterior análisis; blktrace incluye una serie de herramientas de análisis como el blkparse mencionado anteriormente y btt . blktrace es una herramienta de muy bajo nivel, por lo que puede que no sea tan fácil averiguar qué causó la actividad en primer lugar, pero con la ayuda de la documentación incluida (consulte /usr/share/doc/blktrace si instaló el paquete Debian) y el blktrace papel, debería ser posible averiguar qué está causando los giros.

Relacionado:¿'rm .*' alguna vez elimina el directorio principal?
Debian
  1. Cómo obtener actualizaciones de LTS para Debian 6 (Squeeze)

  2. Expansión de un RAID de software en Debian mediante la migración a nuevos discos duros grandes

  3. Cómo listar todos los paquetes en un repositorio en Ubuntu, Debian o Linux Mint [APT]

  4. ¿Cómo enumerar los procesos adjuntos a un segmento de memoria compartida en Linux?

  5. ¿Cómo instalar Mono 4.0.1 en Debian 8?

Cómo hacer que Debian Linux sea más rápido

Cómo instalar Wine para ejecutar aplicaciones de Windows en Debian

Cómo enumerar discos en Linux

¿Cómo obtener una lista de aplicaciones instaladas en Ubuntu Dash?

Cómo instalar y administrar Java en Debian 11

Cómo obtener una lista de enlaces simbólicos en Linux