1、jps:查看进程及其相关去信息
2、jmap:用来生成dump文件和查看堆相关的各类信息的命令。
3、jstat:查看jvm运行时的状态信息
4、jstack:查看jvm线程快照的命令
5、jinfo:查看jvm参数和动态修改部分jvm参数
常用参数:
1、-Xms:初始化堆大小
2、-Xmx:最大堆大小
3、-Xmn:新生代的内存空间大小
4、-XX:SurvivorRatio
5、-Xss:每个线程的堆栈大小
6、-XX:PermSize:设置永久代初始值
7、-XX:MaxPermSize:设置永久代最大值
这个要理解一下jvm内存区就好理解命令。
1.栈是线程和方法执行的地方。主要耗的是cpu。jstack就是看栈的快照。所以cpu过高,或者死锁等就用jstack检查问题
2.堆存的是对象,垃圾回收的主要区域。主要耗内存,所以内存溢出等优先排查堆。jmap是看堆里对象的情况。但是线上注意jmap使用。