Linux

在 Ubuntu Linux 上, mandb 連續執行(顯然在後台)是否正常?

  • October 27, 2012

我可以訪問我所在機構的 Ubuntu Linux 節點。節點在組之間共享,但通常我是唯一使用此特定節點的人。

我正在此節點上的所有 8 個 CPU 上並行執行計算。我的計算執行了,但是當我使用 查看活動程序時top,我看到了一個額外的程序,上面寫著 userman和 command mandb。根據. mandb_ top_ 6 %CPU_ 2.5 %MEM_top

當我在網際網路上環顧四周時,似乎:

mandb用於初始化或手動更新通常由人工維護的索引數據庫記憶體。

那麼,為什麼會mandb一直在這個節點上執行呢?(根據其他節點,我機構集群內的其他節點上沒有這個問題top。)為什麼mandb需要一直執行,因為我目前沒有看手冊?

這個過程是否可能是我可以安全終止使用的幻象過程kill

mandb連續執行是不正常的。通常每天在cronmandb作業中執行一次,以執行維護任務,例如更新已安裝手冊頁的索引以及建構或修整格式化手冊頁的記憶體。日常工作應該在幾秒鐘內執行,如果您有很多手冊頁和慢速磁碟,可能需要幾分鐘。如果作業執行的時間比這長,那就有問題了。

6% CPU 不算高,但程序可能在做磁碟 I/O。集群節點上 2.5% 的記憶體聽起來很高。可能是作業配置錯誤,並且正在尋找不應該出現的位置,或者程序中存在錯誤,或者存在導致卡住mandb的硬體故障。mandb

/etc/crontab您可以在or中觀看 cron 腳本/etc/cron.*/*(確切位置取決於分佈;/etc/cron.daily/man-db並且/etc/cron.weekly/man-db可能是位置)。您可以通過更仔細地查看流程來查看呼叫mandb的內容:執行pstree | less並蒐索mandb流程。執行ps ww 12345(其中 12345 是違規程序的 PID)將顯示完整的命令行。

這可能是您可以自行診斷的問題,但如果沒有 root 權限則無法修復。如果您確實具有 root 權限,則可以安全地終止該mandb程序(使用命令sudo pkill mandbsu -c 'pkill mandb',具體取決於您成為 root 的方式)。在任何情況下,請聯繫您的系統管理員並解釋這些症狀。盡可能提供所有資訊(例如呼叫的程序mandb和參數)。

引用自:https://unix.stackexchange.com/questions/47982