Linux JVM调优 实践

Java内存泄漏排查或者JVM内存调优

1)通过jps查看当前系统运行的java进程的ID或者通过ps -ef | grep “指定服务名,例如tomcat等”
(2)通过使用top -p [pid]的命令来查看指定进程占用系统资源的情况,主要是看内存
(3)通过使用jstat -gcutil [pid] 60000的命令,来查看GC的情况,每隔1分钟输出一次
(4)通过观察上面的输出结果,不难看出,是否存在FULL GC的情况,如果发现是因为大量FULL GC造成程序执行缓慢的话,就要接着查看到底是程序的哪些部分占用的
(5)通过使用jmap -histo:live [pid]来查看进程下各种类型的对象创建了多少个,以及每种对象占用内存的情况
(6)通过仔细观察上面的输出结果,不难看出,哪一种类型的对象占用内存较多,结合业务应用系统,不难排查出问题出处
(7)也可以通过jmap命令生成dump文件,使用eclipse的分析插件来分析此文件,查看更多详情信息,也可以通过jhat命令来创建一个http服务,通过浏览器来访问服务器查看dump文件详情。

 

JVM参数调优

(1)设置堆内存最大最小值相同,-Xmx与-Xms值相同,这样可以避免堆收缩提升效率
(2)设置年轻代与老年代的内存占用比例-PremRadio参数为1:2,也可以针对年轻代设置,比如将-Newsize与-MaxNewsize设置相同的值,也是为了避免堆收缩
(3)如果服务器物理内存资源充足,可以尝试设置回收方式,默认是Serio,可以设置为-UseParalleOldGC,提升回收并行度

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值