在linux怎么限制一个进程运行内存大小

在linux怎么限制一个进程运行内存大小,第1张

我不知道如何查看。但记得Linux(32位)中每个进程独享4GB的进程空间,需要注意的是这4G指的是虚拟内存,而非物理内存。可以查阅一下Linux虚拟内存机制相关资料。要定制的话难度大啊!内核文件里用进程描述符(thread_info)表示一个进程,它是一个结构体,里面有个关于进程内存分配的字段(addr_limit)。具体自己研究研究吧!如果只是对某个进程分配空间的话就简单多了。假如你要为当前进程设置2M的内存上限,可以通过current->addr_limit=2048实现。

修改/etc/security/limits.conf可以调整进程内存上限, 具体看 man limits.conf

但是我觉得你的问题可能在于java,

一个是java版本,我估计32位版本可能只能用4GB,若是64位的版本就不会

另一个是 java 参数 -Xmx 你先看看现在的设置然后尝试调高,看看是否有效


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8397152.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-16
下一篇2023-04-16

发表评论

登录后才能评论

评论列表(0条)

    保存