内存分析方法和JVM的java heap space问题处理

1.内存分析方法

内存分析的主要方法和步骤:

1.查看Memory\Available Mbytes指标,该指标是描述系统可用内存的直接指标。如果该指标的数据比较小,系统可能出现了内存方面的问题。

     PS:在UNIX/LINUX系统中对应的是Free

2.注意Pages/sec、Pages Read/sec和Pages Faults/sec:windows和linux操作系统提供这三个指标来支持磁盘交换次数的统计,这三个指标直接反映了操作系统进行交换的频度。 如果Pages/sec、Pages Faults/sec数值很大而且Pages Read/sec计数值超过5,则可以判断为内存方面的问题

3.根据Physical Disk计数器的值分析性能瓶颈:如果Pages Read/sec值很低,但%Disk Time和Average Disk Queue Length的值很高,则可能是磁盘瓶颈;如果队列长度增加,但Pages Read/sec并未降低,则是由于内存不足。


2.java heap space问题处理

1. jmeter.bat文件中,修改堆(Heap)的值:

set HEAP=-Xms1536m –Xmx1536m

这个可以随意修改,如果值太大,则jmeter会打不开,同时会有提示;值太小则有OutOfMemory的错误。我设置的是1.5G

2删除'ViewResult Tree’‘View Result Tree’ ,在debug的时候非常的好用,但是也很占内存。所以在跑性能测试的时候还是不要用的为好。如果性能测试要跑很久的话,建议还是使用Aggregate Listener, Graph Listener, and Spline Listener这几个比较好。

3. 如果出现了以上的异常,则在JMeter的安装目录下的bin文件夹下出现了java_pid****.hprof 的文件。这个文件非常的大,如果有的话,还是删掉为好。






你可能感兴趣的:(java,内存,heap)