Pourquoi «personne» ne démarre toujours un nouveau programme «find» qui consomme toujours ma mémoire?

8
$ ps -elf | grep
...
0 D nobody   27320 27319  2  90  10 - 353471 sleep_ 07:54 ?       00:02:19 /usr/bin/find / -ignore_readdir_race ( -fstype NFS -o -fstype nfs -o -fstype nfs4 -o -fstype afs -o -fstype binfmt_misc -o -fstype proc -o -fstype smbfs -o -fstype autofs -o -fstype iso9660 -o -fstype ncpfs -o -fstype coda -o -fstype devpts -o -fstype ftpfs -o -fstype devfs -o -fstype mfs -o -fstype shfs -o -fstype sysfs -o -fstype cifs -o -fstype lustre_lite -o -fstype tmpfs -o -fstype usbfs -o -fstype udf -o -fstype ocfs2 -o -type d -regex \(^/tmp$\)\|\(^/usr/tmp$\)\|\(^/var/tmp$\)\|\(^/afs$\)\|\(^/amd$\)\|\(^/alex$\)\|\(^/var/spool$\)\|\(^/sfs$\)\|\(^/media$\)\|\(^/var/lib/schroot/mount$\) ) -prune -o -print0                          
...

Ce travail démarre toujours automatiquement et consomme ma mémoire. Même après je l'ai kill, il commencera plusieurs heures plus tard.

Quel est ce travail?

ÉDITER

Remarque: le pid est différent de ce qui précède car j'ai tué celui ci-dessus, attendez plusieurs heures, puis le second arrive.

$ pstree -psl
|-anacron(25920)---sh(25929)---run-parts(25930)---locate(26343)---updatedb.findut(26348)-+-frcode(26358)
|                                                                                        |-sort(26357)
|                                                                                        `-updatedb.findut(26356)---su(26387)---sh(26402)---find(26403)

Voici à quoi cela ressemble dans un outil graphique:

entrez la description de l'image ici

Yishu Fang
la source
1
À utiliser pstree -psavec le PID de ce travail pour voir ce qui a commencé.
muru
J'ai un peu mis à jour la réponse, voyez si c'est plus utile maintenant.
muru

Réponses:

6

Comme vous pouvez le voir dans l'arborescence des processus, cette commande est exécutée par updatedb, ce qui met à jour la base de données de la locatecommande. La commande de localisation stocke ces données afin qu'elle puisse donner des résultats presque instantanément par rapport à d'autres moyens tels que findlui-même. Le travail cron pertinent est /etc/cron.daily/locate, comme on peut le voir dans l'outil GUI. Il semble que vous utilisiez locateplutôt que mlocate. mlocateest censé faire un meilleur travail d'être économe en ressources . Essayez donc d'installer d' mlocateabord:

sudo apt-get install mlocate

Voir aussi: Puis-je désactiver updatedb.mlocate?

muru
la source