Могу ли я отключить 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