有没有办法发送磁盘中进程 RAM 使用情况?

有没有办法发送磁盘中进程 RAM 使用情况?

如果我希望进程 PID 666 停止使用我的 CPU,我可以使用kill -SIGSTOP 666.
并且我可以在kill -SIGCONT 666.
但这个过程仍在使用我的记忆。

有没有办法将存储在 RAM 中的数据发送到磁盘(也许是交换),然后当然可以恢复它?

答案1

如果内核需要在 RAM 中为活动进程腾出空间,而相关进程处于停止状态,那么您所要求的(即将进程的内存使用量转移到交换区)将会自动发生。

答案2

您可以创建一个组组,向其中添加进程并使用/proc/sys/vm/swappiness每个 cgroup 的 swappiness () 来控制该特定组的交换使用情况。你也可以强行防止特定进程的内存被 mlock 交换(参见man mlockman mlockall)。

相关内容