¿Cómo puedo saber qué está haciendo girar mi disco?

8

He habilitado "spindown" en una de las unidades de mi servidor Linux, al que solo accedo un cliente de BitTorrent, lo que significa que cuando no tengo torrents ejecutándose, nada más debería acceder al disco y despertarlo desde spindown (¿verdad? )

Pero algo está haciendo que el disco gire cada 15 minutos más o menos. ¿Cómo puedo rastrear al culpable delincuente?

Gracias por cualquier comentario!

Bruno Antunes
fuente

Respuestas:

8

Puede consultar http://samwel.tk/laptop_mode/ . Aunque esta página no trata principalmente de su problema, ofrece una buena idea general de cómo funciona IO e ideas, cómo silenciar sus discos apagándolos.

La respuesta corta para su problema:

echo 1> / proc / sys / vm / block_dump

producirá mensajes en syslog como:

23 de julio 10:04:05 kernel locutus: ls (5224): LEA el bloque 7340136 en dm-4
23 de julio 10:04:05 kernel locutus: ls (5224): LEER bloque 4335136 en dm-4
23 de julio 10:04:05 kernel locutus: ls (5224): LEER bloque 15505568 en dm-4
23 de julio 10:04:05 kernel locutus: ls (5224): LEER bloque 7340160 en dm-4
23 de julio 10:04:05 kernel locutus: ls (5224): LEER bloque 7340168 en dm-4

He usado un simple comando ls

NOTA: asegúrese de que el registro de su sistema esté apagado o escrito en un disco ram (tipo: tmpfs) antes de hacerlo, porque (cita): "su sistema puede entrar en un bucle de retroalimentación, donde syslogd provoca actividad en el disco, esto provoca la salida del núcleo, y esto hace que syslogd haga más actividad de disco "

Recomiendo montar / tmp como un disco ram y luego configurar el registro en / tmp / syslog. Esto en / etc / fstab (y un reinicio) hará:

ninguno / tmp tmpfs por defecto, tamaño = 256M 0 0
asdmin
fuente
9

En Linux, el fanotifysyscall reciente-ish habilitó una buena utilidad llamada fatraceque informa sobre qué proceso está afectando qué archivo para todo el sistema o una partición en particular. Definitivamente mi herramienta favorita para este tipo de cosas:

deluged(6542): R /usr/share/GeoIP/GeoIP.dat
rsyslogd(1737): W /var/log/syslog
rsyslogd(1737): W /var/log/kern.log
skomorokh
fuente
¡Esta herramienta es asombrosa! Para mí, resultó ser smartd girando la unidad, lo que creo que tiene sentido.
Alexander O'Mara
5

He estado usando iotop para descubrir qué está usando la unidad. Desde el sitio web debe tener "kernel de Linux ≥ 2.6.20 con las opciones TASK_DELAY_ACCT y TASK_IO_ACCOUNTING habilitadas".

Parece que solo estás interesado en un disco en particular. Puede considerar escribir un script que verifique rutinariamente con lsof o fuser para acceder a esa unidad / partición.

shamer
fuente
1

Si un proceso comienza a escribir datos en la unidad, puede averiguarlo revisando regularmente los archivos abiertos: lsof .

De lo contrario, podría buscar con "libre" si el archivo de intercambio se utiliza o no.

Raffael Luthiger
fuente
1

Debería poder usar la auditoría de Linux para agregar un reloj en el punto de montaje de la unidad, luego monitorear los registros con ausearch después del evento para averiguar en qué archivo se leyó o se escribió (si corresponde) y en qué proceso lo hizo, la auditoría puede Esté atento a las lecturas, escrituras, ejecuciones y cambios de atributos en cualquier sistema de archivos (siempre que sea compatible con su sistema, debería serlo).

JamesHannah
fuente
0

Tal vez podría usar incron que usa inotify para iniciar comandos basados ​​en la actividad del sistema de archivos. Luego, podría ver el punto de montaje y usar incron para activar lsof para buscar qué proceso está accediendo a él.

Kyle Brandt
fuente
0

Lo fácil de verificar lo que está haciendo girar su disco es:

vaya al directorio del disco montado, para mí fue / media / disk0 / transmission

entonces ejecutas: sudo fatrace -c

tendrá la salida de cualquier cosa que llegue a esa carpeta, por ejemplo, puede iniciar sesión con ssh y hacer un ls.

df (54956): CO / media / disk1 bash (55025): O / media / disk1 bash (55025): RC / media / disk1 bash (55026): O / media / disk1 bash (55026): RC / media / disk1


fuente