如果硬页面故障的数量超过每秒给定的数量,则暂停处理

有没有办法在Linux发送一个信号或以其他方式安装一个处理程序被调用,当一个进程超过每秒给定的硬页面错误率?

一个简单的sigstop可以避免很多意外的崩溃(交换死亡),但是我想如果进程使用内存映射文件,可能会出现误报。

要检查每秒出现高速页面错误的进程,请执行以下操作:

pidstat -r 

有趣的列是majflt / s(每秒任务的主要故障总数,需要从磁盘加载内存页的那些故障总数)。 从那里决定如何处理stream程或过滤那些可以安全停止的stream程。