在 Ubuntu Linux 上,mandb 连续运行(显然在后台)是否正常?

And*_*rew 13 linux cpu man ubuntu cluster

我可以访问我所在机构的 Ubuntu Linux 节点。节点在组之间共享,但通常我是唯一使用此特定节点的人。

我正在此节点上的所有 8 个 CPU 上并行运行计算。我的计算运行,但是当我使用 来查看活动进程时top,我看到了一个附加的进程,上面写着 userman和 command mandb。这个mandb命令似乎运行的每一个我看看时间top,而且它似乎占用CPU功率(一个相当可观的量6 %CPU)和内存(2.5 %MEM),根据top

当我在互联网上环顾四周时,似乎:

mandb 用于初始化或手动更新通常由人工维护的索引数据库缓存。

那么,为什么mandb一直在这个节点上运行呢?(根据top其他节点的说法,我机构集群内的其他节点上没有这个问题。)为什么mandb需要一直运行,因为我目前看手册?

这个过程可能是一个我可以安全终止的幻影过程kill吗?

Gil*_*il' 11

mandb连续运行是不正常的。通常mandb每天在cron作业中运行一次,以执行维护任务,例如更新已安装手册页的索引以及构建或修剪格式化手册页的缓存。日常工作应该在几秒钟内运行,如果您有很多手册页和一个慢速磁盘,可能需要几分钟。如果作业运行的时间比这更长,那就有问题了。

6% CPU 不高,但进程可能在做磁盘 I/O。集群节点上 2.5% 的内存听起来很高。很可能是作业配置错误并查看了它不应该出现的位置,或者程序中存在错误mandb,或者硬件故障导致mandb卡住。

您可以在/etc/crontabor 中观看 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以及使用了哪些参数)。