这是我的第一个问题,我很沮丧。我无法在最近安装的CentOS服务器上成功启用KSM。
该服务器当前托管着一个简单的Java VM,该VM分配了将近1,2 GB的RAM,我希望它使用较少的RAM,但KSM无法启动。
在每次启动时,我的系统都会运行:
回声1> / sys /内核/ mm / ksm /运行
回声500> / sys / kernel / mm / ksm / sleep_millisecs
full_scans 0
pages_shared 0
pages_sharing 0
pages_to_scan 50000000
pages_unshared 0
pages_volatile 0
run 1
sleep_millisecs 500
似乎在内核中未正确设置。
一种或另一种方式,运行用于测试其存在的命令,例如“ service ksm restart”或“ service ksmd restart”输出:
ksm:服务未知
有什么提示吗?
最佳答案
KSM仅在带有特殊API调用标记的RAM区域上运行。
KSM通常与KVM虚拟机一起使用。
通常,JVM不会告诉KSM扫描其RAM。
假设在主机上启用了KSM,以下一项可能会有所帮助:
将JVM放入KVM。
使用名为kvm_preload的黑客。