Kann ich updatedb.mlocate deaktivieren?


62

Auf Ubuntu-Server hier und ich versuche, 300M Bilddateien aus einem komprimierten Dateiformat mit Java zu entpacken.

Meine Entpackrate beträgt 0,5 MB / Sek. (34 Tage, um 1,5 TB mit dieser Rate zu entpacken).

Ich versuche herauszufinden, warum und die einzige Kuriosität, die ich bemerke, ist, dass updatedb.mlocate beim Entpacken immer funktioniert. Ich möchte es ausschalten, um zu sehen, ob es im Weg ist, aber ich verstehe nicht viel darüber, was es ist.

oben

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]

1
Dieses Problem betrifft mich seit Jahren und ich kann nicht verstehen, warum updatedb.mlocate mit hoher E / A-Priorität ausgeführt wird, wenn das Skript einen Leerlaufmodus anzeigt ...
Ferran Basora,


Warum ist es noch standardmäßig aktiviert? Über viele Jahre passiert es mir jedes Mal, wenn ich ein neues System erstelle. : - /
Fernando Kosh

1
Für alle, die sich fragen, warum dieses Ding benötigt wird und ob Sie etwas kaputtmachen
Ufos

Antworten:


71

Es kann getötet werden mit:

sudo killall updatedb.mlocate

Oder:

sudo kill -9 <PID>

Es läuft jeden Tag von Cron. Deaktiviere es mit:

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

Und wenn Sie es wieder aktivieren möchten:

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

10
vergessen Sie nicht , zu löschen /var/lib/mlocate/mlocate.dbund
reto

2
Ist es sicher, es zu deaktivieren?
Anton Rudeshko

2
ZOMG Ja. Mach das.
Meawoppl

8
Bearbeiten Sie die Datei /etc/updatedb.confund geben PRUNEPATHSSie die Verzeichnisse ein, die Sie NICHT durchsuchen möchten.
Inetpro

@inetpro Danke. In meinem Fall habe ich verwendet backintime, wodurch im Laufe der Zeit eine Menge Hardlinks erstellt wurden, und die Dinge wurden viel besser, als ich Artikel zu den hinzugefügten PRUNEPATH.
Woot

17

Ich wollte den Prozess nicht vollständig eliminieren, aber ich wollte, dass er weniger häufig abläuft. Deshalb habe ich mir überlegt, wie man ihn so einstellt, dass er wöchentlich statt täglich abläuft. Dies basiert auf der akzeptierten Antwort oben , aber wahrscheinlich am besten als seine eigene Antwort aufgeführt , wie es zu deaktivieren es nicht.

Das heißt ... Es ist ziemlich einfach und scheint gut zu funktionieren.

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

Der erste deaktiviert den Cron-Job. Der zweite verschiebt es auf die wöchentlichen Aufgaben. Der dritte Befehl legt die Berechtigungen so fest, dass sie aktiviert sind. Täglich, stündlich, wöchentlich und monatlich sind alle Optionen.



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.