KSM / MADVISE :标准桌面环境中的初始化和使用

KSM / MADVISE :标准桌面环境中的初始化和使用

运行 4.19 Linux 内核 + 几个面向 RT 的补丁 + 偶尔运行几个进程 SCHED_RR (用于“专业”音频目的)

CONFIG_KSM 在内核中设置并运行 ksmd,我通常保持 /sys/kernel/mm/ksm/run = 0,除非仅运行标准桌面应用程序(KDE / KMAIL / Chromium / LibreOffice / VLC + 最多 2 个客户端的 Mariadb 服务器)一个很小的数据库)

在后一种情况下,我将 /sys/kernel/mm/ksm/run = 1 设置为 1,但是最终,一些有用活动的所有目击者都应该在 /sys/kernel/mm/ksm 文件中报告拼命显示:0

1/我是否遗漏了一些东西,而不是我实际运行的应用程序都没有 MADV_MERGEABLE ?

2/是否有常见的桌面应用程序实际上对 MADV_MERGEABLE 感到疯狂?我以为我的 sql 服务器会是其中之一,但是......显然......???

3/ 在(un?)幸运的情况下,KSM 对我来说绝对没有用处,我想摆脱无用的 ksmd 守护进程,但是......运行非 systemd 系统(openrc)我无法理解什么命令它的启动,我的意思是当 CONFIG_KSM=[y] 时,如果不是由内核本身启动,则由哪个 rc 服务启动它。

答案1

  1. 我怀疑是后者; A代码搜索除了虚拟机管理程序和 Android 上的 Chromium 之外,没有发现太多用途。

  2. 据我所知。 (有多少非 VM 相关的应用程序通常会拥有大量具有相同内容的内存,除了已经共享的二进制代码之外?)

  3. ksmd一个内核线程/sys/kernel/mm/ksm/run如果它正在运行,则写入 0应该将其禁用。

相关内容