tag puddletag mp3tag kid3 inotifywait example editar easytag linux inotify

linux - puddletag - ¿Cómo puedo saber qué relojes inotify han sido registrados?



mp3tag ubuntu (5)

  1. El número máximo predeterminado de relojes inotify es 8192; se puede aumentar escribiendo a / proc / sys / fs / inotify / max_user_watches .
    Puede usar sysctl fs.inotify.max_user_watches para verificar el valor actual.

  2. Use tail -f para verificar si su sistema operativo excede el límite máximo de vigilancia de inotify .
    La implementación interna del comando tail -f utiliza el mecanismo de inotify para monitorear los cambios en los archivos.
    Si te has quedado sin tus relojes inotify , lo más probable es que obtengas este error:

    cola: no se puede utilizar inotify, volviendo a sondear: hay demasiados archivos abiertos

  3. Para averiguar qué relojes inotify se han registrado, puede consultar this y this . Lo intenté, pero no conseguí el resultado ideal. :-(

Referencia:
https://askubuntu.com/questions/154255/how-can-i-tell-if-i-am-out-of-inotify-watches
this
this

Tengo mi límite de vigilancia inotify establecido en 1024 (creo que el valor predeterminado es 128?). A pesar de eso, yeoman, Guard y Dropbox fallan constantemente y dime que suba mi límite de inotificación. Antes de hacerlo, me gustaría saber qué consume todos mis relojes (tengo muy pocos archivos en mi Dropbox).

¿Hay alguna área de / proc o / sys, o alguna herramienta que pueda ejecutar, para averiguar qué relojes están registrados actualmente?


Dado que esto es alto en los resultados de Google, copio y copio parte de mi respuesta de una pregunta similar en el Unix / Linux StackExchange:

Me encontré con este problema, y ​​ninguna de estas respuestas le da la respuesta de "¿cuántos relojes utiliza cada proceso actualmente?" Todas las frases de una sola línea le dan la cantidad de instancias abiertas, lo que es solo una parte de la historia, y el rastreo solo es útil para ver cómo se abren nuevos relojes.

Esto le proporcionará un archivo con una lista de instancias de inotify abiertas y la cantidad de relojes que tienen, junto con los pids y binarios que los generaron, ordenados en orden descendente por conteo de relojes:

sudo lsof | awk ''/anon_inode/ { gsub(/[urw]$/,"",$4); print "/proc/"$2"/fdinfo/"$4; }'' | while read fdi; do count=$(sudo grep -c inotify $fdi); exe=$(sudo readlink $(dirname $(dirname $fdi))/exe); echo -e $count"/t"$fdi"/t"$exe; done | sort -nr > watches

Si estás interesado en lo que hace esa gran bola de desorden y por qué, expliqué en profundidad la respuesta original .


El siguiente comando de terminal funcionó perfectamente para mí en mi máquina Ubuntu 16.04:

for foo in /proc/*/fd/*; do readlink -f $foo; done |grep inotify |cut -d/ -f3 |xargs -I ''{}'' -- ps --no-headers -o ''%p %U %a'' -p ''{}'' |uniq -c |sort -n

Mi problema fue que tenía una buena mayoría de mi disco duro cargado como una carpeta en Sublime Text . Entre /opt/sublime_text/plugin_host 8992 y /opt/sublime_text/sublime_text , Sublime tuvo 18 instancias de inotify, mientras que el resto de mis programas estaban entre 1-3.

Desde que estaba haciendo el desarrollo de la aplicación móvil de Ionic, reduje el número de instancias en 5 agregando la carpeta grande "node_modules" de Node.js a la lista de ignorados en la configuración de Sublime.

"folder_exclude_patterns": [".svn", ".git", ".hg", "CVS", "node_modules"]

Fuente: https://github.com/SublimeTextIssues/Core/issues/1195


Yo creo que

sudo ls -l /proc/*/fd/* | grep notify

podría ser de utilidad. Obtendrá una lista de los pids que tienen un inotify fd registrado.

¡No sé cómo obtener más información que esta! HTH


inotificar opciones del sistema de archivos

sysctl fs.inotify

archivos abiertos

lsof | grep inotify | wc -l

Incrementa los valores como este.

  • sysctl -n -w fs.inotify.max_user_watches=16384
  • sysctl -n -w fs.inotify.max_user_instances=512