JVM性能调优

来源:互联网 发布:淘宝招牌免费模板 编辑:程序博客网 时间:2024/05/16 17:59

说在前面:

1.为什么要jvm调优

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

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

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

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

2.jvm调优的重点:

a. 垃圾回收+

  b. 内存管理

3.要对哪些地方调优:

一张图让大家明白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配置


0 0
原创粉丝点击