JVM性能调优

说在前面:

1.为什么要jvm调优

前面有篇文件已经说明了java的内存模型:

java应用------>依赖jvm---->依赖OS(操作系统)

所以应用直接打交道的是jvm,要想应用跑的稳健(系统异常少,比如内存溢出之类的),快速(响应速度快,因为gc的时候应用的所有线程都停止工作,影响速度)

上面的这两个目标都需要调节jvm来解决:

2.jvm调优的重点:

a. 垃圾回收+

  b. 内存管理

3.要对哪些地方调优:
局部变量(方法内部的变量)存在栈stack里面,

成员变量(类所属于的变量)存在堆heap里面

一张图让大家明白jvm内存结构

 

4.对于每个参数调多少?

经验+工具:

 

经验上图中已经给出一部分:

-Xms:heap最小尺寸

-Xmx::heap最大尺寸

这两者最要配置一样的大小

-Xmn:young区的尺寸:应该为上面两者的1/3;

 

下面看工具:

要调整他们首先要观察JVM内存和gc,观察的工具很多,jdk本事提供了一些,这些工具简单实用,而且不需要安装。

最长用的工具

jps【查看JVM的进程id】+

jstat【查看内容和gc状态】

 

Jstat的例子::

jstat -gcutil 21308 250 10

其中,21308是(运行jboss)的JVMpid250是采样间隔,单位是毫秒,即250毫秒采集一次数据;10是采样次数。

 

 

 

通过观察采集次数,就可以看到内存和gc的变化了。

观察结论:内存各个区域占用率不高,gc时间也不长,不过,perm使用率比较低【13.57为百分比】(所以分配的有点大了,太浪费了)。因为perm区的对象与JVM的生命周期是一样的,对象数量不会动态变化,所以,我们可以把这个区域的尺寸设置为原尺寸的二分之一(减小perm区的大小),这样,perm的占用率将从13%左右增加到26%左右。

5.去哪里调参数

对eclipse进行JVM配置

对tomcat进行JVM配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值