在 Ubuntu Linux 上, mandb 連續執行(顯然在後台)是否正常?
我可以訪問我所在機構的 Ubuntu Linux 節點。節點在組之間共享,但通常我是唯一使用此特定節點的人。
我正在此節點上的所有 8 個 CPU 上並行執行計算。我的計算執行了,但是當我使用 查看活動程序時
top
,我看到了一個額外的程序,上面寫著 userman
和 commandmandb
。根據.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 mandb
或su -c 'pkill mandb'
,具體取決於您成為 root 的方式)。在任何情況下,請聯繫您的系統管理員並解釋這些症狀。盡可能提供所有資訊(例如呼叫的程序mandb
和參數)。