JVM内存参数设置

永久存储区相关参数:

-XX:PermSize  应用服务器启动时,永久存储区的初始化内存大小;默认64M。

-XX:MaxPermSize  应用运行中,永久存储区域的最大值。为了不消耗扩大JVM永久存储区分配的开销,将此参数和-XX:PermSize这两个值设为相等。


堆空间相关参数:

-Xms 启动应用时,JVM堆空间的初始值大小;默认值为物理内存的1/64,但小于1G。

-Xmx 应用运行中,JVM堆空间的最大值。为了不消耗扩大JVM堆空间分配的开销,将此参数设置为和-Xms相等,考虑到需要开线程,将此值设置为总内存的80%。默认值是物理内存的1/4,但小于1G。

-Xmn 此参数硬性规定堆空间的新生代空间大小,推荐将此值设置为堆空间大小的1/4。


上面所列出的JVM参数关系到系统的性能,而其中-XX:PermSize,-XX:MaxPermSize,-Xms,-Xmx,-Xmn这5个参数直接影响到系统的性能,系统是否会内存溢出。


如果程序出现:java.lang.OutOfMemoryError:Java Permanent Space,此乃永久存储区设置太小,不能满足系统的需求,此时只需要调整-XX:PermSize和-XX:MaxPermSize大小即可。

如果程序出现:java.lang.OutOfMemoryError:Java heap Space,此乃堆空间不足,只需要调整-Xms和-Xmn大小即可


给大家提供一个内存监控工具:

下载地址


下载完成,配置环境变量:

配置本地的环境变量加入JVMSTAT_JAVA_HOME,配置为jdk安装的路径


配完后,win+R,打开dos命令窗口,输入jps,查看所有java应用程序列表,第一列为pid,第二列为应用名字。



然后:

就会出现当前应用的内存分布情况(实时动态刷新):

然后,跑应用,如果哪里报内存溢出了,自己分析。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值