На Ubuntu Linux, чи нормально мабб працювати постійно (мабуть, у фоновому режимі)?


12

Я маю доступ до вузла Ubuntu Linux у своєму закладі. Вузли поділяються серед групи, але зазвичай я єдина людина, яка використовує саме цей вузол.

Я веду обчислення паралельно на всіх 8 процесорів цього вузла. Мій обчислення запускається, але коли я переглядаю активні процеси, використовуючи top, я бачу додатковий процес, який говорить користувача manта команди mandb. Ця mandbкоманда, здається, виконується щоразу, коли я дивлюся top, і, схоже, вона займає досить помітну кількість процесорної потужності ( 6 %CPU) та пам'яті ( 2.5 %MEM), згідно top.

Коли я оглядаюсь в Інтернеті, то здається, що:

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

Чому ж тоді mandbна цьому вузлі працює весь час? (У мене немає проблеми з іншими вузлами в кластері моєї установи, відповідно до topінших вузлів.) Навіщо mandbмені потрібно запускати весь час, оскільки я зараз не переглядаю посібники?

Чи може цей процес бути фантомним процесом, який я можу сміливо припинити, використовуючи kill?


@derobert Я не sysadmin. Гаразд, я його запитаю. Дякую.
Андрій

Відповіді:


10

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

6% ЦП не є високим, але процес може робити дисковий введення / вивід. 2,5% пам'яті на вузлі кластера звучить високо. Цілком імовірно, що робота неправильно налаштована і шукає місця, де вона не повинна бути, або що в програмі є помилка, або ж є помилка в mandbапаратному забезпеченні, яка mandbможе застрягнути.

Ви можете подивитися сценарії хрон в /etc/crontabабо /etc/cron.*/*(точне розташування розподілу залежить від способу ; /etc/cron.daily/man-dbі /etc/cron.weekly/man-dbймовірні місця). Ви можете побачити, на що викликано mandb, уважніше ознайомившись із процесом: запустіть pstree | lessі пошукайте mandbпроцес. Запуск ps ww 12345(де 12345 - PID процесу порушення) покаже повний командний рядок.

Це те, що ви можете самостійно діагностувати, але не виправити без кореневих дозволів. Якщо у вас є кореневі дозволи, ви можете безпечно вбити mandbпроцес (скористайтеся командою sudo pkill mandbабо su -c 'pkill mandb', залежно від того, як ви станете root). У будь-якому випадку зверніться до системного адміністратора та поясніть симптоми. Надайте всю інформацію, яку можете (наприклад, яку програму викликали mandbта з якими аргументами).


2

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

Вам це не подобається, просто відключіть його chmod -x /etc/cron.daily/man-db


2

Це Гейзенбуг і, можливо, той, що був зафіксований в останніх версіях манбду. Це стосується зламаних manpages, порядку проходження файлової системи та поступових перебудов манду, що перетворюється на дуже повільну повну перебудову (15 мільйонів помилок на сторінці або близько того, що займає кілька хвилин на обертанні іржі).

Якщо ви хочете його усунути, запустіть:

sudo mandb --no-purge --debug

і ніколи не запускайте манду з --createабо без --no-purge. Потім переконайтеся, що у вас є остання версія, і повідомте про помилку, де cjwatson може її бачити.

Якщо з іншого боку ви просто хочете позбутися проблеми, запустіть:

echo 'man-db man-db/auto-update boolean false' |sudo debconf-set-selections

що відключить man-db cronjob (працює щодня) та тригер dpkg (працює, коли встановлені пакети).

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