Posso disabilitare updatedb.mlocate?


62

Sul server Ubuntu qui e sto cercando di decomprimere i file di immagine 300M da un formato di file compresso utilizzando Java.

La mia frequenza di decompressione è 0,5 MB / sec, abissale (34 giorni per decomprimere 1,5 TB a questa velocità).

Sto cercando di capire perché, e l'unica stranezza che noto è che updatedb.mlocate funziona sempre quando eseguo il processo di decompressione. Voglio spegnerlo per vedere se si mette in mezzo, ma non capisco molto di cosa si tratti.

superiore

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
Questo problema mi ha colpito per anni e non riesco a capire perché updateb.mlocate venga eseguito con priorità IO elevata quando lo script indica una modalità inattiva ...
Ferran Basora,


Perché è ancora abilitato il default? Per molti anni mi capita ogni volta che creo un nuovo sistema. : - /
Fernando Kosh,

1
Per chiunque vaga perché è necessaria questa cosa e se si interrompe qualcosa spegnendolo: unix.stackexchange.com/a/273283/126119
Ufos

Risposte:


71

Può essere ucciso con:

sudo killall updatedb.mlocate

O:

sudo kill -9 <PID>

Funziona ogni giorno da cron. Disabilita con:

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

E se vuoi riattivarlo:

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

10
non dimenticare di eliminare /var/lib/mlocate/mlocate.dbanche
reto

2
È sicuro disabilitarlo?
Anton Rudeshko,

2
ZOMG Sì. Fai questo.
meawoppl

8
Modifica il file /etc/updatedb.confe impostalo PRUNEPATHScon le directory che NON vuoi cercare.
Inetpro,

@inetpro Grazie. Nel mio caso, stavo usando ciò backintimeche crea un sacco di hardlink nel tempo e le cose sono migliorate molto dopo aver aggiunto elementi a PRUNEPATH.
Woot

17

Non volevo eliminare del tutto il processo, ma volevo farlo accadere meno frequentemente, quindi ho scoperto come impostarlo per l'esecuzione settimanale anziché giornaliera. Questo si basa sulla risposta accettata sopra, ma probabilmente è meglio elencarla come propria risposta poiché non la disabilita.

Detto questo ... È piuttosto semplice e sembra funzionare bene.

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

Il primo disabilita il cron job. Il secondo lo sposta nelle attività settimanali. Il terzo comando imposta le autorizzazioni in modo che sia abilitato. Quotidiano, orario, settimanale e mensile sono tutte opzioni.



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.