您的位置:首页 > 编程语言 > Java开发

Java-No.15 内存泄露和内存溢出问题定位

2016-03-02 09:35 597 查看
1、top 查看pid

Mem:  32845176k total,  9200084k used, 23645092k free,    16988k buffers
Swap:  8191992k total,   214004k used,  7977988k free,   456988k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
346 root      39  19     0    0    0 S  1.0  0.0   2569:47 kipmi0
26931 root      20   0 17.9g 2.2g  20m S  1.0  7.1 453:14.89 java
19179 root      20   0 15308 1532  928 R  0.7  0.0   0:00.03 top
2067 root      20   0  146m 2228  588 S  0.3  0.0 431:58.74 redis-server
2073 root      20   0  146m 2736  596 S  0.3  0.0 144:56.11 redis-server
2080 root      20   0  146m 1928  592 S  0.3  0.0 145:44.90 redis-server
24592 root      20   0 21.2g 2.3g  13m S  0.3  7.5  12:19.31 java
1 root      20   0 19232  464  280 S  0.0  0.0   4:57.93 init

2、jstat -gcutil pid 1000 100 查看fullgc次数,是否有内存溢出

[root@localhost ~]# jstat -gcutil 26931 1000 10
S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT
58.94   0.00  16.20  75.23  99.48   9294  194.745   177   50.703  245.447
58.94   0.00  16.21  75.23  99.48   9294  194.745   177   50.703  245.447
58.94   0.00  16.45  75.23  99.48   9294  194.745   177   50.703  245.447
58.94   0.00  16.45  75.23  99.48   9294  194.745   177   50.703  245.447
58.94   0.00  16.45  75.23  99.48   9294  194.745   177   50.703  245.447
58.94   0.00  16.69  75.23  99.48   9294  194.745   177   50.703  245.447
58.94   0.00  16.69  75.23  99.48   9294  194.745   177   50.703  245.447
58.94   0.00  16.69  75.23  99.48   9294  194.745   177   50.703  245.447
58.94   0.00  16.92  75.23  99.48   9294  194.745   177   50.703  245.447

1000表示打印的时间间隔,毫秒

100为打印显示的次数

S0C、S1C、S0U、S1U:Survivor 0/1区容量(Capacity)和使用量(Used)

EC、EU:Eden区容量和使用量

OC、OU:年老代容量和使用量

PC、PU:永久代容量和使用量

YGC、YGT:年轻代GC次数和GC耗时

FGC、FGCT:Full GC次数和Full GC耗时

GCT:GC总耗时

3、java visualVM工具查看

4、jmap -dump:format=b,file=/tmp/heap.bin pid 导出dump文件

5、使用MAT分析dump文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: