Чи можу я відключити updateb.mlocate?


62

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

Моя швидкість розпакування становить 0,5 Мбайт / сек, абисмальну (34 дні для розпакування 1,5 ТБ за такою швидкістю).

Я намагаюся розібратися, чому, і єдиний дивний факт, який я помічаю, є те, що оновлення.m.md місцезнаходження завжди працює, коли я роблю процес розпакування. Я хочу вимкнути це, щоб побачити, чи стає на шляху, але я не дуже розумію, що це таке.

верх

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

іотоп

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
Ця проблема зачіпає мене роками, і я не можу зрозуміти, чому оновлення.m.momete працює з високим пріоритетом вводу-виводу, коли сценарій говорить про режим бездіяльності ...
Ferran Basora

6
це помилка. дивіться bugs.launchpad.net/ubuntu/+source/mlocate/+bug/1190696
Thufir

Чому це все ще включено за замовчуванням? Протягом багатьох років це трапляється зі мною щоразу, коли я створюю нову систему. : - /
Фернандо Кош

1
Для тих, хто блукає, навіщо ця річ і чи щось ви зламаєте, вимкнувши її: unix.stackexchange.com/a/273283/126119
Ufos

Відповіді:


71

Його можна вбити за допомогою:

sudo killall updatedb.mlocate

Або:

sudo kill -9 <PID>

Він працює щодня крон. Вимкніть його за допомогою:

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

І якщо ви хочете знову ввімкнути це:

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

10
не забудьте видалити , /var/lib/mlocate/mlocate.dbа також
Рето

2
Чи безпечно його відключити?
Антон Рудешко

2
ЗОМГ Так. Зробити це.
meawoppl

8
Відредагуйте файл /etc/updatedb.confта встановіть PRUNEPATHSу каталогах, які НЕ хочете шукати.
inetpro

@inetpro Дякую У моєму випадку я використовував, backintimeщо створює тону жорстких посилань з часом, і все стало набагато краще, коли я додав елементи до PRUNEPATH.
Уот

17

Я не хотів повністю ліквідувати процес, але хотів, щоб це відбувалося рідше, тому я розробив, як налаштувати його на щотижневий, а не на щоденний. Це ґрунтується на прийнятій відповіді вище, але, ймовірно, найкраще вказано як власну відповідь, оскільки це не відключає її.

Це сказало ... Це досить просто і, здається, працює просто чудово.

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. Другий переміщує його до тижневих завдань. Третя команда встановлює дозволи, щоб вона була включена. Щодня, щогодини, щотижня та щомісяця - це всі варіанти.


1
Див. " Як змусити mlocate індексувати лише певні каталоги " для іншого способу його прискорити.
Амір Алі Акбарі

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.