重新调整(降低)进程是否会使其在内存压力下更快?

重新调整(降低)进程是否会使其在内存压力下更快?

假设我想优先考虑在内存压力较高的设备上运行的一些进程。这些进程是 UI 进程(特别是 Android),在此状态下运行速度非常慢。当我 grep 查找我的进程时

ps -eo min_flt,maj_flt,cmd

我可以看到我的主要页面错误非常高(UI 操作(例如打开新的 Android 活动)有数千个)。

如果将我的进程调整为较低的优先级(较高的优先级),我可以期望看到更少的严重页面错误吗?提高优先级应该会给它更多的 CPU 资源,但我不确定如果瓶颈是内存压力/页面错误,这是否会加快进程。

答案1

提高优先级应该会给它更多的 CPU 资源,但我不确定如果瓶颈是内存压力/页面错误,这是否会加快进程。

不会的。该nice级别仅影响调度程序。

借助 root 权限,您可以mlockall(MCL_CURRENT|MCL_FUTURE)将映射页面锁定到 RAM 中。在 Linux 上。我不知道Android上是否有这样的功能。

前段时间有补丁可以允许继承mlockall状态exec,这样就可以创建简单的包装程序来运行任何可执行文件mlockallhttps://lwn.net/Articles/308552/不幸的是,该补丁没有进入主线 Linux,因此您必须编辑 codez,或者如果它是脚本语言解释器,请找到一种对mlockall.

相关内容