您的位置:首页 > 运维架构 > Linux

linux上jvm的xms参数最大到底能设多大??

2020-04-04 11:12 1386 查看

今天做了个实验,在linux上启动jvm,这个xms和xmx到底最大能设多大??
不啰嗦了,直接上图片结果!
系统:centos 6,内存4g
jdk :hotspot1.8(这里试了openjdk结果跟这个基本一样)
为了不干扰结论,这里我关闭了swap

贴一下报错结果:
[localhost bin]$ ./java -Xmx5500m -Xms5500m Main
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000006dad50000, 3844800512, 0) failed; error='Cannot allocate memory' (errno=12)

There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 3844800512 bytes for committing reserved memory.
An error report file with more information is saved as:

/jdk1.8.0_241/bin/hs_err_pid104015.log

这里设置的这个无法启动的最小的xms是5500m,看了一下报错,这里的启动报错是启动申请的内存是 3844800512=3666m=5500m的三分之二。
但是比较奇怪的就是初次 申请的3666m跟available的3.5g,还是有一定的差距
,另外jvm启动的时候并不是完全按照你设置的xms来直接申请内存的。
结论:
目前来看centos 6 ,内存4g,available=3.5g,jvm能设置的最大的xms是5499m,大约等于系统available的1.5倍

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: