1.jmap -heap 1234(进程号)
打印heap空间的概要,这里可以粗略的检验heap空间的使用情况
2.jmap -histo 1234(进程号)| head -n 5
这里会生成一个类的统计报表,此表简单无比,如显示什么类有多少个实例,共占了多少字节
3.jmap -dump:format=b,file=m.hprof 1234(进程号)
输出堆栈信息
jvisualvm工具查看堆栈信息
4.jmap -finalizerinfo 24971
打印等待回收的对象信息
Number of objects pending for finalization: 0 说明当前F-QUEUE队列中并没有等待Fializer线程执行final
5.jmap -histo:live (打印堆的对象统计,包括对象数、内存大小)
这个命令执行,JVM会先触发gc,然后再统计信息
6.jstat -gcutil pid 5s
每隔5s监控一次内存回收情况
E 代表 Eden 区使用率;
O(Old)代表老年代使用率 ;
P(Permanent)代表永久代使用率;
CCS 压缩使用比例
M 元空间(MetaspaceSize)已使用的占当前容量百分比
YGC(Young GC)代表Minor GC 次数;
YGCT代表Minor GC耗时;
FGC(Full GC)代表Full GC次数;
FGCT(Full GC)代表Full GC耗时;
GCT代表Minor & Full GC共计耗时。
jstat -gc 12538 5000
即会每5秒一次显示进程号为12538的java进成的GC情况,
7 ulimit -u
系统限制某用户下最多可以运行多少进程或线程
8.cat /proc/{pid}
查询当前用户已用的线程或进程数
9./etc/security/limits.d/90-nproc.conf
修改当前用用户允许启动的线程
10.free -m
以m为单位来显示内存的信息
11.top -Hp ${pid}
查看当前线程,内存 CPU等相关信息
网友评论