如何调高linux单进程使用的内存上限

我的服务器是64位的linux系统,4根8G的内存条。单个进程最大只能用到4G的内存,怎么把系统中单个进程的内存调到最大呢?

修改/etc/security/limits.conf可以调整进程内存上限, 具体看 man limits.conf
但是我觉得你的问题可能在于java,
一个是java版本,我估计32位版本可能只能用4GB,若是64位的版本就不会
另一个是 java 参数 -Xmx 你先看看现在的设置然后尝试调高,看看是否有效追问

第一个问题我们已经调高了。

如图:


但是第二个如何设置呢?我希望把全部32G的内存(或者接近全部)都用在一个JAVA进程上,能说详细一点不?谢谢啦

追答

java -version 看 java 版本号确定是32位或64位,32位的话4G已经达到最大值,需要更多内存首先要考虑该应用是否支持64位java

如果已经是64位jiava, 在运行java的时候添加参数 -Xmx 设置使用堆的内存限制,比如你想使用内存最多达24G添加参数-Xms4G -Xmx24G, 不建议使用全部内存,还有其它参数,请参考 java -X

不清楚你需要给java更多内存的原因, 一般情况下java的gc机制可以工作的很好,大部分的java应用在负载不是太大的情况下不需要太多内存,

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-21

右击进程可以更改

追问

我的是服务器非界面版本的,有没有命令修改呢?最好能永久的修改一个对于单个进程的内存上限的限制。

追答

抱歉,不会

第2个回答  2014-02-21
32位程序的话最大4G
第3个回答  2014-02-21
服务器么。。追问

对啊,我用的就是服务器,在服务器上跑一个超大的java程序,目前看JAVA进程占用内存超过4G就不行了。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网