1)jps 查看java所有的pid
2)jps -l -m -v 查看java启动的项目的jvm配置
3)cat /proc/pid/status | grep 'Thread' 查看 该pid的使用的所有线程数
4)top pid H 查 该pid线程情况
5)jstack -l pid >> aaa.txt 把该pid当时的所有线程都打印到aaa.txt中
注意wait for<> 尖括号中出现内容的次数,如果多次就是死锁
6)jssat -gcutil pid 2000 每2秒查看 fgc ygc ygct fgct s0 s1的情况 fullgc次数 年轻代gc次数 ygct ygct所耗时间(启动都现在) ygct/ygct最好是个位数毫秒级别,能不到秒级别就别到 ,fgct/ygct最好是个位数毫秒级别 fgc次数最少也得是几小时一次,太频繁有问题
7)jmap -dump:live,format=b,file=heap.hprof pid 导出的信息可以通过java/bin下的jvisualvm工具查看,主要查看哪些类被实例数据多,哪些对象太大