Intereting Posts
Автоматически memtest и затем загружать Debian – System (аудио) Настройки, нарушающие при запуске / остановке LXC Порт вперед между док-контейнером и локальным хостом Какое правильное место для создания нового WINEPREFIX? Установка DevedeNG в kali linux, но отсутствующая зависимость от python, о которой говорит, уже установлена Как разбирать строку для номера порта в ksh Почему Gnome 3.22 Assistive On Screen Keyboard поддерживает только Qwerty? LXC: общая папка в гостевой машине не работает, как ожидается Как (если возможно) я могу закончить конкретный блокиратор, зависающий программой? Как я могу использовать Ethernet для мониторинга отказа PPP-соединения 3G-модема? Прокрутка с колесом мыши внутри экрана время ожидания блокировки с помощью команд ps эпифаный плагин для хранения паролей Почему я получаю это сообщение всякий раз, когда я открываю терминал? Хвост -f ломается, когда файл усечен

На Ubuntu Linux, нормально ли для маннита работать непрерывно (видимо, в фоновом режиме)?

У меня есть доступ к узлу Ubuntu Linux в моем учреждении. Узлы разделяются между группой, но обычно я единственный человек, который использует этот конкретный узел.

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

Когда я смотрю в Интернете, кажется, что:

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

Почему же тогда mandb работает все время на этом узле? (У меня нет этой проблемы на других узлах кластера моего учреждения, в соответствии с top на других узлах.) Зачем mandb нужно запускать все время, так как я сейчас не смотрю руководства?

Возможно ли, что этот процесс будет фантомным процессом, который я могу безопасно прекратить, используя kill ?

Для mandb не является нормальной для непрерывной работы. Типично запускать mandb один раз в день в задании cron , выполнять задачу обслуживания, такую ​​как обновление индекса установленных man-страниц и построение или обрезку кеша отформатированных man-страниц. Ежедневная работа должна выполняться через несколько секунд, может быть, несколько минут, если у вас много справочных страниц и медленный диск. Если работа выполняется дольше, чем что-то, что-то не так.

6% CPU невелик, но процесс может работать с дисковым вводом / выводом. 2.5% памяти на узле кластера звучит высоко. Вполне вероятно, что работа неправильно сконфигурирована и выглядит там, где ее не должно быть, или что есть ошибка в программе mandb , или что есть аппаратный сбой, заставляющий mandb застревать.

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

Это то, что вы могли бы самостоятельно диагностировать, но не исправлять без прав root. Если у вас есть права root, вы можете безопасно убить процесс mandb (используйте команду sudo pkill mandb или su -c 'pkill mandb' , в зависимости от того, как вы стали root). В любом случае обратитесь к системному администратору и объясните симптомы. Дайте всю информацию, которую вы можете (например, какую программу вызывается mandb и с какими аргументами).

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

Вам это не нравится, просто отключите его от chmod -x /etc/cron.daily/man-db

Это Heisenbug и, возможно, тот, который был исправлен в последних версиях манди. Это связано со сломанными manpages, порядком обхода файловой системы и инкрементными перестройками мандита, превращающимися в очень медленные полные перестройки (15 миллионов ошибок страницы или около того, что требует минут на ржавчину).

Если вы хотите устранить неисправность, запустите:

 sudo mandb --no-purge --debug 

и никогда не запускать мандиту с помощью --create или without --no-purge . Затем убедитесь, что у вас установлена ​​последняя версия, и сообщите об ошибке, где cjwatson может ее увидеть.

Если, с другой стороны, вы просто хотите избавиться от проблемы, запустите:

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

который отключит man-db cronjob (работает ежедневно) и триггер dpkg (запускается при установке пакетов).