你好杰米
2018-06-22 05:59
采纳率: 95%
浏览 660
已采纳

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

请问我机器有40G内存

有两个jar程序要跑

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

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

那么这样会出现问题么

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

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • qq_26126071 2018-06-22 06:22
    已采纳

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

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题