鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

(可选)使能内存超分特性

多个云手机实例使用相同的镜像在服务器进行容器化部署,存在较多相同的内存页,造成内存浪费。若使用openEuler 5.10.0-182.0.0内核,可使能KSM(Kernel Samepage Merging,内核同页合并)特性,为容器使能数据去重功能,将相同的匿名页进行合并,释放内存空间。

  1. 服务器使能KSM守护进程。
    echo 1 > /sys/kernel/mm/ksm/run

    调整KSM相关的参数“pages_to_scan”“sleep_millisecs”减少优化时间,但会增加CPU利用率。

    • “pages_to_scan”表示在KSM守护进程睡眠之前,需要扫描多少页面。
    • “sleep_millisecs”表示守护进程内核线程完成一次扫描之后的睡眠时间,以毫秒为单位。

    通过echo xx > /sys/kernel/mm/ksm/$param进行参数修改,其中xx为要修改的参数值大小,$param为要修改的参数。

  2. 容器使能自动全量KSM去重。
    echo 1 > /sys/fs/cgroup/memory/docker/CONTAINER_ID/memory.ksm

    其中CONTAINER_ID为云手机容器的ID。查看是否使能成功。

    cat /sys/fs/cgroup/memory/docker/CONTAINER_ID/memory.ksm

    若“merge any tasks”不为0即开启成功。

  3. 关闭KSM去重。
    echo 0 > /sys/fs/cgroup/memory/docker/CONTAINER_ID/memory.ksm