基本上我有一个运行许多驻留服务的系统,但不是所有服务器同时运行,内存非常低。
交换的正常解决方案只提供"自动",然后"哑"根据页面的使用频率进行交换行为。但我知道在某个时间点需要哪些PID,哪些不是。
我需要的是:
这个想法是:"我知道我要使用什么,所以我告诉内核要交换什么以及不交换什么。理想情况下,我永远不会有任何页面错误,我将能够有更多的空闲RAM(通过将所有不需要的东西推送到SWAP)"
我知道可以使用mlockall()将PID锁定在RAM中。但这并不是我所需要的,它可以使一个进程脱离交换状态,但它不能强制它进行交换。此外,它必须在过程中被调用,这是不方便的。
我在想,如果目前的Linux内核+模块不可能,我可能会编写一个小内核模块来暗示交换机制,这是否可行?