JVM:-Xmx和-Xms应该维持什么样的比例?

版权声明:本博客为记录本人学习过程而开,内容大多从网上学习与整理所得,若侵权请告知! https://blog.csdn.net/Fly_as_tadpole/article/details/87714133

-Xmx和-Xms应该维持什么样的比例?

首先并不是虚拟机内存越大就越好,大概原因是因为:内存越大,JVM 进行 Full GC 所需的时间越久,由于 Full GC 时 stop whole world 特性,如果是用于响应HTTP 请求的服务器,这个时候就表现为停止响应,对于需要低延迟的应用来说,这是不可接受的。对于需要高吞吐量的应用来说,可以不在乎这种停顿,比如一些后台的应用之类的,那么内存可以适当调大一些。(停顿时间越长,吞吐量反而越大),需要根据具体情况权衡。

-Xmx和-Xms一般都是设置相等的,避免在生产环境由于heap内存扩大或缩小导致应用停顿,也避免每次垃圾回收完成后JVM重新分配内存。当然如果生产系统上线前有一段预热时间的话,也可以不设置相等。

猜你喜欢

转载自blog.csdn.net/Fly_as_tadpole/article/details/87714133