OOM:OutOfMemory。内存溢出
cpu 100%: 使用top,查看占用cpu比较高的进程,使用top -Hp 进程ID ,查看对应的占用cpu较高的线程。如果是java应用,使用 jstack 导出该线程的堆栈。然后查看哪个方法(栈帧)消耗时间 jstack。
内存飙高: 导出堆内存 jmap,使用jhat 、jvisualvm、mat 等等 进行分析。
如何监控JVM: jstat、jvisualvm 等等
jstack dump
jstack 969 > test.txt : jstack 线程ID > 文件名
8. jinfo pid
9. jstat -gc 动态观察gc情况 / 阅读GC日志发现频繁GC / arthas观察 / jconsole/jvisualVM/ Jprofiler(最好用)
jstat -gc 进程ID 500 : 每个500个毫秒打印GC的情况
1:已经上线的系统不用图形界面用什么?(cmdline arthas)
2:图形界面到底用在什么地方?测试!测试的时候进行监控!(压测观察)
10. jmap - histo 进程ID ,查找有多少对象产生
jmap - histo 进程ID | head -20 列出前20个
11. jmap -dump:format=b,file=xxx pid :
线上系统,内存特别大,jmap执行期间会对进程产生很大影响