微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 强制进程完全在swap中运行

我没有找到解决方案,所以我不确定,有没有.

我有一个VPS,512MB RAM和SSD磁盘.

我的问题是:我想运行一个基于java的服务器程序,我希望它完全接受交换.它的-xms现在是384,但这还不够.

有什么解决方案吗?

p.s.:swappiness是60.我不想在RAM中看到这个过程:-)

解决方法:

没有进程可以在“完全”交换中执行.必须将代码数据加载到RAM中,以便cpu读/写/执行它.你可以把东西暂时推出去交换,但是如果你的驻留设置太小,你的系统会不断交换. (即使使用SSD,从磁盘加载比从RAM加载要慢几千倍.)

这种不断的交换将:

1)减慢整个系统的速度,因为磁盘的一些I / O带宽会被不断使用

2)缩短SSD的使用寿命,因为SSD在出现故障之前具有有限的写周期数.

您最好的选择就是创建一个大的交换区域,并正常运行您的程序.操作系统会将不经常使用的位移出磁盘.如果你无法在系统的其余部分获得良好的性能,那么你需要更多的RAM.您可以尝试使用ulimit和/或cgroups来限制进程使用的RAM量,但这不能“修复”您的问题.

或者,您可以使用更有效的语言重新编写服务器. (这是一个常见的权衡:程序员可能花费数月优化运行时cpu /内存占用,或者业务可能会花更多钱在硬件上.)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐