【JAVA】关于一个jvm内存的问题?

请问我机器有40G内存

有两个jar程序要跑

给a程序分配Xmx30g
给b程序分配Xmx20g

请问我分配的总额超过了总量,但是比如b程序只是运行起来了,但是没有占用很多内存,a程序却需要占用20多g的内存

那么这样会出现问题么

实际情况是线上服务器已经有一个项目了,但是没有客户使用所以不消耗内存,目前有个新项目需要上服务器,但是运行的时候很耗内存,但是机器内存总共只有40g,我想能不能把目前的40g全分配给新项目,因为旧项目没有人用,这样会有问题么?(旧项目启动的时候设置了30g的内存)


达令说
浏览 606回答 1
1回答

守着一只汪

Xmx只是设置了允许的最大内存,如果程序实际运行不需要这么多,永远到达不了你设置的数量。所以,如果旧的设置30g,新的设置40g,那么这样当新旧都到达最大数量时候可能会有问题,当然也可能都到达不了最大数。所以,我的建议是将旧的程序设置内存下调,是的两个程序设置的最大内存不超过机器总量。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java