我们使用java -X可以看到java的-X系列的参数,Xmx和Xms是相对应的。
一个是memory max(Xmx) 一个是memory start (Xms)。
Xmx代表程序最大可以从操作系统中获取的内存数量,Xms代表程序启动的时候从操作系统中获取的内存数量。
比如 java -cp . -Xms128m -Xmx256m 说明这个程序启动的时候使用128m的内存,最多可以从操作系统中获取256m的内存。
JVM参数
宿主机
默认情况下,JVM的Max Heap Size是系统内存的1/4
# java -XshowSettings:vm -version
# java -XshowSettings -version
容器
参考
docker常见退出码
https://www.cnblogs.com/ainimore/p/12972806.html
Java的Xmx是设置什么的?
https://www.cnblogs.com/yjf512/p/7770968.html
如何防止Java超出容器内存限制?
https://www.coder.work/article/1413306
https://www.cnblogs.com/ilinuxer/p/6648681.html
Docker环境下Java应用的JVM设置
https://www.cnblogs.com/duanxz/p/10248762.html
在 Docker 里跑 Java,趟坑总结
https://my.oschina.net/shisuyun/blog/871514
容器中的JVM资源该如何被安全的限制?
https://www.kubernetes.org.cn/5005.html
如何防止Java超出容器内存限制?
https://stackoom.com/question/3WMDz/%E5%A6%82%E4%BD%95%E9%98%B2%E6%AD%A2Java%E8%B6%85%E5%87%BA%E5%AE%B9%E5%99%A8%E5%86%85%E5%AD%98%E9%99%90%E5%88%B6