这是我的第一个问题,我只是感到沮丧。我无法在最近安装的 CentOS 服务器上成功启用 KSM。
服务器当前正在托管一个简单的 Java VM,它分配了近 1.2 GB 的 RAM,我希望它使用更少的 RAM,但 KSM 无法启动。
每次启动时我的系统都会运行:
echo 1 > /sys/kernel/mm/ksm/run
echo 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: unknown service
有什么提示吗?
最佳答案
- KSM 仅在由特殊 API 调用标记的 RAM 区域上运行。
- KSM 通常与 KVM 虚拟机一起使用。
通常 JVM 不会告诉 KSM 扫描其 RAM。
假设主机上启用了 KSM,以下其中一项可能会有所帮助:
- 将 JVM 放入 KVM 中。
- 使用名为 kvm_preload 的 hack。
关于linux - 如何在 CentOS 6 上启用 KSM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35284237/