Su Ubuntu Linux, è normale che mandb funzioni continuamente (apparentemente in background)?


12

Ho accesso a un nodo Ubuntu Linux nella mia istituzione. I nodi sono condivisi tra il gruppo, ma in genere sono l'unica persona che utilizza questo nodo particolare.

Sto eseguendo un calcolo in parallelo su tutte e 8 le CPU su questo nodo. Il mio calcolo viene eseguito, ma quando visualizzo i processi attivi utilizzando top, vedo un processo aggiuntivo che dice utente mane comando mandb. Questo mandbcomando sembra essere in esecuzione ogni volta che guardo top, e sembra richiedere una quantità abbastanza apprezzabile di potenza della CPU ( 6 %CPU) e memoria ( 2.5 %MEM), secondo top.

Quando mi guardo intorno su Internet, sembra che:

mandb viene utilizzato per inizializzare o aggiornare manualmente le cache del database dell'indice che sono generalmente gestite dall'uomo.

Perché, quindi, mandbfunziona sempre su questo nodo? (Non ho questo problema su altri nodi all'interno del cluster della mia istituzione, secondo topaltri nodi.) Perché dovrebbe mandbessere eseguito tutto il tempo, dal momento che non sto guardando i manuali?

È probabile che questo processo sia un processo fantasma che posso terminare in sicurezza usando kill?


@derobert Non sono l'amministratore di sistema. Ok, glielo chiederò. Grazie.
Andrew,

Risposte:


10

Non è normale mandbcorrere continuamente. È tipico eseguire mandbuna volta al giorno in un processo cron , per eseguire attività di manutenzione come l'aggiornamento di un indice delle pagine man installate e la creazione o il taglio di una cache di pagine man formattate. Il lavoro quotidiano dovrebbe essere eseguito in pochi secondi, forse pochi minuti se si hanno molte pagine man e un disco lento. Se il lavoro viene eseguito più a lungo, c'è qualcosa che non va.

Il 6% della CPU non è elevato, ma il processo potrebbe eseguire I / O su disco. Il 2,5% della memoria su un nodo del cluster sembra alto. È probabile che il lavoro sia configurato in modo errato e guardi dove non dovrebbe essere, o che ci sia un bug nel mandbprogramma, o che ci sia un errore hardware che potrebbe mandbbloccarsi.

Puoi guardare gli script cron in /etc/crontabo /etc/cron.*/*(la posizione esatta dipende dalla distribuzione /etc/cron.daily/man-dbe /etc/cron.weekly/man-dbsono probabilmente posizioni). Puoi vedere cosa invocato mandbguardando più da vicino il processo: esegui pstree | lesse cerca il mandbprocesso. In esecuzione ps ww 12345(dove 12345 è il PID del processo offensivo) mostrerà la riga di comando completa.

Questo è qualcosa che potresti diagnosticare da solo, ma non correggere senza i permessi di root. Se disponi delle autorizzazioni di root, puoi tranquillamente terminare il mandbprocesso (usa il comando sudo pkill mandbo su -c 'pkill mandb', a seconda di come diventi root). In ogni caso, contattare l'amministratore di sistema e spiegare i sintomi. Fornisci tutte le informazioni che puoi (come quale programma ha invocato mandbe con quali argomenti).


2

Ho controllato gli script cron, era semplicemente un comando per aggiornare gli indici man, accelerare la ricerca di manuali, eseguire quotidianamente, è possibile ucciderlo in modo sicuro.

Non ti piace, basta disabilitarlo da chmod -x /etc/cron.daily/man-db


2

Questo è un Heisenbug, e probabilmente uno che è stato corretto nelle recenti versioni di mandb. Ha a che fare con manpage rotte, ordine di attraversamento del filesystem e ricostruzioni incrementali del mandrino che si trasformano in ricostruzioni complete molto lente (15 milioni di errori di pagina o giù di lì, che impiegano pochi minuti a ruotare la ruggine).

Se vuoi risolverlo, esegui:

sudo mandb --no-purge --debug

e non eseguire mai mandb con --createo senza --no-purge. Quindi assicurati di avere l'ultima versione e segnala un bug in cui cjwatson può vederlo.

Se invece vuoi solo sbarazzarti del problema, esegui:

echo 'man-db man-db/auto-update boolean false' |sudo debconf-set-selections

che disabiliterà il cronjob man-db (viene eseguito quotidianamente) e il trigger dpkg (viene eseguito quando i pacchetti sono installati).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.