Cómo comprobar qué proceso está escribiendo en FileSystem Solaris

Cómo comprobar qué proceso está escribiendo en FileSystem Solaris

Necesito identificar qué proceso escribe sin parar en el disco.

Intenté ejecutar prstat -tpara obtener la lista de procesos en ejecución, pero no puedo identificar/encontrar qué proceso es.

ejecutando df -k, puedo ver que el espacio en una ruta determinada del disco disminuye continuamente.

Después de eliminar todos los procesos (y cerrar todas las conexiones externas) que alguna vez podrían escribir en el disco, todavía hay algo que escribe en él.

Sistema operativo Solaris 10

Respuesta1

No mostrará las operaciones IO reales, pero también puedes usarla fuserutilidadpara identificar procesos que utilizan el sistema de archivos de cualquier manera, incluso aquellos que no causan IO real, o que hacen IO de maneras que no se pueden rastrear hasta un proceso en particular ( mmap()de archivos es uno, donde un archivo puede ser mmap()'d por múltiples procesos):

Sinopsis

/usr/sbin/fuser [-c | -d | -f] [-nu] [-k | -s sig] files 
     [ [- ] [-c | -d | -f] [-nu] [-k | -s sig] files] ...

Descripción

La utilidad del fusor muestra los ID de los procesos que utilizan los archivos especificados como argumentos.

Cada ID de proceso va seguido de un código de letra. Estos códigos de letras se interpretan de la siguiente manera. Si el proceso utiliza el archivo como

c Indica que el proceso está utilizando el archivo como su directorio actual.

m Indica que el proceso está utilizando un archivo asignado con mmap(2). Consulte mmap(2) para obtener más detalles.

n Indica que el proceso mantiene un bloqueo obligatorio sin bloqueo en el archivo.

o Indica que el proceso está utilizando el archivo como un archivo abierto.

r Indica que el proceso está utilizando el archivo como directorio raíz.

t Indica que el proceso está utilizando el archivo como archivo de texto.

y Indica que el proceso está utilizando el archivo como su terminal de control.

Ejemplo:

Suponiendo que su directorio de inicio esté en un sistema de archivos separado montado en /export/home, esto mostrará todos los procesos que utilizan archivos de cualquier manera en ese sistema de archivos, incluidos aquellos procesos que no realizan ninguna E/S pero que tienen un directorio de trabajo actual en ese sistema de archivos junto con los procesos que tener memoria de archivos asignada desde ese sistema de archivos:

fuser -c /export/home

información relacionada