Non so se dovrei semplicemente aumentare questo numero
Il modo semplice per verificare se hai raggiunto il tuo max_user_watches
valore è, con il tuo utente, utilizzare inotifywatch
dal pacchetto inotify-tools
e verificare se puoi ancora raccogliere informazioni da un file.
Ad esempio inotifywatch -v /home/bruno/.profile
per me ritorna:
Establishing watches...
Total of 1 watches.
Finished establishing watches, now collecting statistics.
Quindi inotify
non ha problemi a creare un nuovo orologio, nessun problema qui.
Se hai raggiunto il limite massimo in inotify watch, ti verrà restituito qualcosa del genere
Failed to watch /home/bruno/.profile; upper limit on inotify watches reached!
Se vedi qualcosa del genere, hai raggiunto il limite e dovrai aumentare il limite di orologi consentito.
Consuma più RAM?
Sì, lo fa. Ma secondo questo vecchio articolo la quantità che consuma è minima rispetto ad altri aspetti di un desktop in esecuzione.
--UTILIZZO DELLA MEMORIA--
Le strutture dati inotify sono leggere:
inotify watch è 40 byte inotify dispositivo è 68 byte inotify evento è 272 byte
Quindi supponendo che un dispositivo abbia 8192 orologi, le strutture consumeranno solo 320 KB di memoria. Con un numero massimo di 8 dispositivi consentiti per esistere alla volta, questo è ancora solo 2,5 MB
Ogni dispositivo può anche avere 256 eventi in coda alla volta, il che equivale a 68 KB per dispositivo. E solo 0,5 MB se tutti i dispositivi sono aperti e dispongono di una coda eventi completa.
Quindi, nel raro caso di tutto aperto e pieno, vengono utilizzati circa 3 MB di memoria.
Ogni orologio inotify inserisce l'inode di una directory / file in memoria, la dimensione di un inode è diversa per ogni file system, ma supponiamo che sia di 512 byte.
Quindi, supponendo che sia attivo il numero massimo di orologi globali, ciò bloccherebbe 32 MB di inode nella cache degli inode. Ancora una volta non è un problema su un sistema moderno.
Ovviamente suppongo che le cose non siano cambiate molto da quando l'articolo è stato scritto, ma guardando i numeri non mi preoccuperei e aumentare il limite non aumenterà molto il consumo di RAM.
Articoli correlati su inotify