我试图找出 OpenVZ 虚拟服务器中加载了哪些内核模块。命令lsmod
为空,我相信原因是 OpenVZ 虚拟化的工作方式。
具体来说,我想知道 inotify 模块是否已加载。
我只能访问访客系统。
答案1
据我了解,OpenVZ 来宾共享主机的内核和所有加载的模块。来宾不允许将模块加载到主机的内核中,因此lsmod
显示一个空列表。显然,如果不访问主机,就不可能显示哪些模块已加载到主机的内核中。
答案2
该列表也在其中,/proc/modules
但我认为这在 openVZ 容器内不可用(事实上,我猜这是lsmod
获取其信息的地方,这就是为什么它没有信息)。
请记住,即使您找到了列出已加载模块的方法,仅仅因为inotify
未列出并不意味着它没有内置到内核中。换句话说,如果您不知道内核是如何配置的,那么列出加载的模块可能不会很有帮助,因为您可能与模块关联的许多内容都可以在其中进行配置。
您最好寻找一种方法来确定如何判断 inotify 是否已专门加载。
答案3
如果来宾内核配置为/proc/config.gz您可以使用它来查找当前运行的内核的配置选项(编辑:从而找出inotify是否启用)。但是我不知道这对您是否有用。
答案4
内核模块无法加载到来宾 VM (VE) 中,因此您也无法列出主机中加载的模块。您必须将它们加载到主机节点(HN)中。