这是我的第一个问题,我很沮丧。我无法在最近安装的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的黑客。

10-08 02:11