常用的命令
1. jps:查看进程及相关的信息
2. jmap:用来生成dump文件盒查看堆相关的各类信息的命令
3. jstat:查看jvm运行时状态信息
4. jstack:查看jvm的快照命令
5. jinfo:查看jvm参数和动态修改jvm参数
常用参数
-xms:初始化堆大小
-xmx:最大堆大小
-xmn:新生代内存大小
-xx:设置永久代初始值
-xss:每个线程的堆栈大小
总结:
栈是线程和方法执行的地方。主要耗的是cpu。jstack就是看栈的快照。所以cpu过高,或者死锁鞥就用jstack检查问题。
堆存的是对象,垃圾回收的主要区域。jmap是看堆里对象的情况。
最后,总结下排查CPU故障的方法和技巧有哪些:
top命令:Linux命令。可以查看实时的CPU使用情况。也可以查看最近一段时间的CPU使用情况。
ps命令:Linux命令。强大的进程状态监控命令。可以查看进程以及进程中线程的当前CPU使用情况。属于当前状态的采样数据。
jstack:Java提供的命令。可以查看某个进程的当前线程栈运行情况。根据这个命令的输出可以定位某个进程的所有线程的当前运行状态、运行代码,以及是否死锁等等