我有一个后端应用程序正在我们的服务器上托pipe的开发人员内部使用,但是,不幸的是,该应用程序需要使用Passenger和Ruby,而这两者都非常需要内存。
我有一个SSD交换文件,应该允许我们的使用合理的性能,我想强制这个应用程序使用交换空间,并留下内存打开我们的前置应用程序。
所以问题是,有没有办法强制一个进程/用户(这个进程在特定的用户下运行)尽可能地使用交换空间? 我认为limits.conf可能是有能力的,但我不希望它给内存错误,只需切换到交换文件。
你应该看看cgroups (控制组)。 还有一些ad-hoc cgroups上的信息也是这样说的
请注意,内存限制仅适用于RAM使用 – 一旦任务达到此限制,它们将开始交换。
这似乎正是你想要的。
如果您的后端开发人员应用程序导致您的前置应用程序很痛苦,那么将后端的东西移到它自己的服务器上可能是一个好主意。