Puis-je désactiver updatedb.mlocate?

62

Sur le serveur Ubuntu ici et j'essaie de décompresser les fichiers image 300M à partir d'un format de fichier compressé en utilisant Java.

Mon taux de déballage est de 0,5 Mo / s, abyssal (34 jours pour décompresser 1,5 To à ce taux).

J'essaie de comprendre pourquoi et la seule chose étrange que je remarque est que updatedb.mlocate fonctionne toujours lorsque je suis en train de décompresser. Je veux l'éteindre pour voir si ça gêne, mais je ne comprends pas grand chose à ce sujet.

Haut

top - 05:16:52 up 1 day,  5:15,  3 users,  load average: 2.00, 2.01, 1.83
Tasks:  83 total,   1 running,  82 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.4%us,  0.8%sy,  0.0%ni,  8.4%id, 90.2%wa,  0.0%hi,  0.0%si,  0.2%st
Mem:   1737420k total,  1722680k used,    14740k free,  1241260k buffers
Swap:   917500k total,      160k used,   917340k free,   165448k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
22901 davidpar  20   0 1051m  56m 4992 S    3  3.3   0:47.84 java
 2221 root      20   0 32348  26m  268 D    1  1.6  27:57.86 updatedb.mlocat
   25 root      20   0     0    0    0 S    0  0.0  10:10.77 kswapd0
  678 root      20   0 15864  444  268 S    0  0.0   0:19.45 irqbalance
  849 davidpar  20   0 26560 1676  332 S    0  0.1  17:17.49 screen

iotop

Total DISK READ: 4.07 M/s | Total DISK WRITE: 789.62 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
 2221 idle root     1556.98 K/s    6.36 K/s  0.00 % 99.61 % updatedb.mlocate
22902 be/4 davidpar    2.54 M/s  671.93 K/s  0.00 % 96.96 % java -cp /home/davidparks21/fruggutils/lib/FruggMapreduceJobs.~educe.UnpackImages /mnt/local/imagebinaries-r-00010 /mnt/ebs1/
  547 be/3 root        0.00 B/s   87.47 K/s  0.00 %  0.30 % [jbd2/xvdf-8]
  177 be/3 root        0.00 B/s    3.98 K/s  0.00 %  0.15 % [jbd2/xvda1-8]
David Parks
la source
1
Ce problème me concerne depuis des années et je ne comprends pas pourquoi updatedb.mlocate s'exécute avec une priorité IO élevée lorsque le script indique un mode inactif ...
Ferran Basora
Pourquoi reste-t-il toujours activé par défaut? Pendant de nombreuses années, cela m’arrive chaque fois que je crée un nouveau système. : - /
Fernando Kosh
1
Pour ceux qui errent, pourquoi est-ce nécessaire et si vous cassez quelque chose en le désactivant: unix.stackexchange.com/a/273283/126119
Ufos

Réponses:

71

Il peut être tué avec:

sudo killall updatedb.mlocate

Ou:

sudo kill -9 <PID>

Il fonctionne tous les jours par cron. Désactivez-le avec:

sudo chmod -x /etc/cron.daily/mlocate

Et si vous voulez le réactiver:

sudo chmod +x /etc/cron.daily/mlocate
Eric Carvalho
la source
10
n'oubliez pas de supprimer /var/lib/mlocate/mlocate.dbaussi
reto
2
Est-il sécuritaire de le désactiver?
Anton Rudeshko
2
ZOMG Oui. Fais ça.
meawoppl
8
Modifiez le fichier /etc/updatedb.confet définissez-le PRUNEPATHSavec les répertoires que vous NE voulez PAS rechercher.
inetpro
@inetpro Merci. Dans mon cas, j’utilisais backintimece qui crée une tonne de liens durs au fil du temps et les choses se sont beaucoup améliorées une fois que j’ai ajouté des éléments à PRUNEPATH.
Woot
17

Je ne voulais pas éliminer totalement le processus, mais je voulais que cela se produise moins souvent et j'ai donc trouvé un moyen de le configurer pour qu'il fonctionne toutes les semaines au lieu de chaque jour. Ceci est basé sur la réponse acceptée ci-dessus, mais probablement mieux répertorié comme sa propre réponse car il ne la désactive pas.

Cela dit ... C'est assez simple et semble bien fonctionner.

sudo chmod -x /etc/cron.daily/mlocate
sudo cp /etc/cron.daily/mlocate /etc/cron.weekly/mlocate
sudo chmod +x /etc/cron.weekly/mlocate

Le premier désactive le travail cron. Le second le déplace vers les tâches hebdomadaires. La troisième commande définit les autorisations afin qu'elle soit activée. Quotidien, horaire, hebdomadaire et mensuel sont toutes les options.

KGIII
la source
1
Voir " Comment obtenir mlocate pour n'indexer que certains répertoires " pour une autre façon de l'accélérer.
Amir Ali Akbari