Updatedb.mlocate'yi devre dışı bırakabilir miyim?


62

Ubuntu sunucusunda burada ve Java kullanarak sıkıştırılmış bir dosya biçiminden 300M görüntü dosyalarını açmaya çalışıyorum.

Paket açma oranım 0,5 Mbayt / sn, berbat (bu hızda 1,5 TB'ı açmak için 34 gün).

Nedenini anlamaya çalışıyorum ve fark ettiğim tek tuhaflık, updateb.mlocate'in açma işlemini yaparken her zaman çalıştığı. Buna engel olup olmadığını görmek için kapatmak istiyorum, ama ne olduğu hakkında fazla bir şey anlamadım.

üst, en iyi, tepe

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
Bu sorun beni yıllardır etkiliyor ve senaryo boşta modundayken
updatedb.mlocate'in


Neden hala varsayılan etkin? Uzun yıllar boyunca, her yeni bir sistem oluşturduğumda başıma geliyor. : - /
Fernando Kosh

1
Neden dolaşan herkes bu şeye ihtiyaç duyuyor ve bir
Ufos

Yanıtlar:


71

İle öldürülebilir:

sudo killall updatedb.mlocate

Veya:

sudo kill -9 <PID>

Her gün cron ile çalışır. Şununla devre dışı bırak:

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

Ve yeniden etkinleştirmek istiyorsanız:

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

10
Silmek unutma /var/lib/mlocate/mlocate.dbyanı
Reto

2
Devre dışı bırakmak güvenli mi?
Anton Rudeshko

2
ZOMG Evet. Bunu yap.
meawoppl

8
Dosyayı düzenleyerek /etc/updatedb.confve set PRUNEPATHSdizinlere ile YAPMAYIN aramak istiyorum.
inetpro

@inetpro Teşekkürler. Benim durumumda, backintimezamanla tonlarca hardlink oluşturan kullanıyordum ve öğelere eklediğimde işler daha iyi hale geldi PRUNEPATH.
woot

17

Süreci tamamen ortadan kaldırmak istemedim ama daha az gerçekleşmesini sağlamak istedim, bu yüzden günlük yerine haftalık olarak nasıl çalıştırılacağını belirledim. Bu, yukarıda kabul edilen cevaba dayanmaktadır, ancak muhtemelen en iyi şekilde etkisiz hale getirmediğinden kendi cevabı olarak listelenmiştir.

Bu dedi ki ... Oldukça basit ve gayet iyi çalışıyor gibi görünüyor.

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

İlki, cron işini devre dışı bırakır. İkincisi onu haftalık görevlere taşır. Üçüncü komut, izinleri etkinleştirilecek şekilde ayarlar. Günlük, saatlik, haftalık ve aylık tüm seçeneklerdir.



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.