我有一台 CentOS 6 机器,用作数据库(mysql)和应用程序服务器。
最近我注意到 KSMD 正在唤醒并且使用了半个核心,时间从几分钟到几个小时不等。
据我所知,KSMD 仅用于对虚拟机进行内存重复删除。此操作系统的文档称:“当所有 qemu-kvm 进程 RSZ 的总和加上的阈值超过系统总内存时,将触发 KSM 循环。”
我已检查过,这台机器上没有运行虚拟机。
有任何想法吗?
答案1
事实证明,Linux 的 KSM 实现最初是为了用于虚拟机而制定的,但由于它可以节省非虚拟系统上的内存,因此在 CentOS 6 及更高版本上默认部署。
该服务器的内存使用量一直在上升,这显然触发了 KSMD 开始扫描。
CentOS 6 的文档在某个地方没有更新(或者 Google 给我链接了一个旧版本)。此外,我通过 Google 查询找到的大多数链接仍然指 KSM 专门用于 KVM 环境。