Estoy ejecutando lsof en uno de mi servidor Linux para verificar si otros archivos /tmp/incoming_data.txt
abren un archivo ( ) en el sistema ext3. Mi servidor tiene mucha conexión TCP. Lo extraño es que la ejecución de 'sudo lsof' tarda unos dos minutos en finalizar y utiliza 99.x% de CPU durante esos dos minutos.
El comando que usé es sudo lsof /tmp/incoming_data.txt
. He probado el " fusor ", que requiere aproximadamente la misma cantidad de CPU y tiempo de ejecución. ¿Hay algo que pueda hacer para solucionar este problema?
lsof
muestra? ¿Cuántos procesos e hilos tiene abierto ese archivo? ¿Cuál es la carga de la CPU cuando no se ejecuta lsof?Respuestas:
Si está seguro de que puede omitir las conexiones TCP o UDP abiertas, ya que mencionó que hay demasiadas, puede usar la opción específica de dialecto de lsof
-X
.Lea la página de manual de lsof y busque '-X' para obtener información detallada.
fuente
Pase la
-n
opción de omitir la resolución de nombres DNS de conexiones IP. Es casi seguro que será la porción de gran cantidad de desaceleraciones.fuente
Encontré este pequeño paquete NPM que hace un trabajo maravilloso al acelerar lsof para archivos: https://www.npmjs.com/package/lsof-mac-fast .
Creé un script de envoltura para usarlo:
Este es mi guión:
El intervalo de repetición puede ser realmente bajo, por ejemplo, 10 ms parece funcionar bien.
fuente