Могу ли я отключить updatedb.mlocate?

На сервере Ubuntu здесь, и я пытаюсь распаковать файлы изображений 300M из сжатого формата файлов с использованием Java.

Моя скорость распаковки составляет 0.5Mbytes/sec, ужасно (34 дня, чтобы распаковать 1.5TB с этой скоростью).

Я пытаюсь понять, почему, и единственная странность, которую я замечаю, это то, что updatedb.mlocate всегда работает, когда я делаю процесс распаковки. Я хочу выключить его, чтобы увидеть, мешает ли оно, но я не очень понимаю, что это такое.

Топ

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]

4 ответа

Решение

Это может быть убито с:

sudo killall updatedb.mlocate

Или же:

sudo kill -9 <PID>

Он работает каждый день cron. Отключить его с помощью:

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

И если вы хотите снова включить его:

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

Я не хотел полностью исключать процесс, но я хотел, чтобы он происходил реже, поэтому я решил, как настроить его запуск еженедельно, а не ежедневно. Это основано на принятом ответе выше, но, вероятно, лучше всего указывать его как собственный ответ, поскольку он не отключает его.

Тем не менее... Это довольно просто и, кажется, работает просто отлично.

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

Первый отключает работу cron. Второй перемещает его на еженедельные задания. Третья команда устанавливает разрешения так, чтобы они были включены. Ежедневно, ежечасно, еженедельно и ежемесячно все варианты.

Я никогда не пользовалась locateвот так я его убрал.sudo dpkg -P mlocateСмотрите также: https://wiki.archlinux.org/index.php/File_system_search

Если вы удалите locateа также mlocateнапример:

      sudo apt remove locate mlocate

Вы можете предотвратить их переустановку с помощью:

      cat <<EOF | sudo tee /etc/apt/preferences.d/do-not-install-locate.pref
Explanation: Do not install locate or mlocate to avoid excessive Disk I/O
Package: locate mlocate
Pin: origin *
Pin-Priority: -1
EOF
Другие вопросы по тегам