linux - 如何在 CentOS 6 上启用 KSM?

标签 linux centos kernel

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

相关文章:

linux - SuSE cron 作业中的脚本无法发送邮件

linux - 使用 im2dcm 进行 Bash 脚本图像处理

centos - Vagrant - 缓存 RPM 以加快配置速度

linux - 文件上传尝试中 error_log 上的 MaxRequestLen 错误

android - Linux内核wait_for_completion_timeout没有被完成唤醒

linux - 防止移除繁忙的内核模块

linux - 如何在 Linux 上的 Netbeans 中使用外部 Tomcat 服务器?

linux - 无法通过 SSH 连接到 Oracle 云实例

python - 我如何在 centos 中从 Linux 中删除 Python 模块

linux - 了解 rt_rq(real time runqueue) 内核中数据成员的使用