¿Puedo deshabilitar updatedb.mlocate?


62

En el servidor ubuntu aquí y estoy tratando de descomprimir archivos de imagen de 300M de un formato de archivo comprimido usando Java.

Mi tasa de desempaquetado es 0.5Mbytes / seg, abismal (34 días para desempaquetar 1.5TB a esta tasa).

Estoy tratando de averiguar por qué, y la única rareza que noto es que updatedb.mlocate siempre funciona cuando estoy haciendo el proceso de descomprimir. Quiero apagarlo para ver si se interpone, pero no entiendo mucho sobre lo que es.

parte superior

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
Este problema me ha estado afectando durante años y no puedo entender por qué updatedb.mlocate se ejecuta con alta prioridad de E / S cuando el script dice un modo inactivo ...
Ferran Basora


¿Por qué sigue siendo el valor predeterminado habilitado? A lo largo de muchos años me sucede cada vez que creo un nuevo sistema. : - /
Fernando Kosh

1
Para cualquiera que deambule por qué se necesita esto y si se rompe algo apagándolo: unix.stackexchange.com/a/273283/126119
Ufos

Respuestas:


71

Se puede matar con:

sudo killall updatedb.mlocate

O:

sudo kill -9 <PID>

Se ejecuta todos los días por cron. Desactívelo con:

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

Y si quieres volver a habilitarlo:

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

10
no te olvides de borrar /var/lib/mlocate/mlocate.dbtambién
reto

2
¿Es seguro deshabilitarlo?
Anton Rudeshko

2
ZOMG Sí. Hacer esto.
meawoppl

8
Edite el archivo /etc/updatedb.confy configúrelo PRUNEPATHScon los directorios que NO desea buscar.
inetpro

@inetpro Gracias. En mi caso, estaba usando lo backintimeque crea una tonelada de enlaces duros con el tiempo y las cosas mejoraron mucho una vez que agregué elementos al PRUNEPATH.
woot

17

No quería eliminar totalmente el proceso, pero sí quería que ocurriera con menos frecuencia, así que descubrí cómo configurarlo para que se ejecute semanalmente en lugar de a diario. Esto se basa en la respuesta aceptada anteriormente, pero probablemente se enumere mejor como su propia respuesta, ya que no la deshabilita.

Dicho eso ... Es bastante simple y parece funcionar bien.

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

El primero deshabilita el trabajo cron. El segundo lo mueve a las tareas semanales. El tercer comando establece los permisos para que esté habilitado. Diaria, por hora, semanal y mensual son todas las opciones.


1
Consulte " Cómo consigo que mlocate solo indexe ciertos directorios " para obtener otra forma de acelerarlo.
Amir Ali Akbari

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.