一、网络
1监控网速
sar -n DEV 1 100
1秒钟监控一次,执行100次
二、内存
1内存总体情况
top
负载(不超过逻辑核数,就算正常);内存;CPU(不超过逻辑核数 * 100%,就算正常)
2jvm每个区的内存使用情况
jmap -heap 进程号
3jvm年轻代的内存使用情况
jstat -gcnew 进程号
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总耗时
4jvm年老代的内存使用情况
jstat -gcold 进程号
5找到最消耗内存的类
使用jmap查看Java进程对象使用情况
运行命令
使用jmap可以查看某个Java进程中每个对象有多少个实例,占用多少内存,
命令格式:
jmap -histo:live 进程id |head 100 (查看前100最消耗内存的
存活对象)
示例说明
例如运行:
jmap -histo 12538
显示结果如下图(内容较多, 分成几张图说明):
内容开始部分
内容结束部分
上图中:
第一列,序号,无实际意义
第二列,对象实例数量
第三列,对象实例占用总内存数,单位:字节
第四列,对象实例名称
最后一行,总实例数量与总内存占用数
另,部分示例说明(还没弄明白,后续补充):
[C,
[B,
[I,
[J,
[L,