从代码角度来看,软件开发人员主要关注emoryError:Javaheapspace异常,以减少不必要的对象创建,避免内存泄漏。
现在我们通过一个实际例子来分析一下如何排查内存使用问题。
通过top命令,我们发现PID为9004的Java进程占用了比较高的内存(24.7%)并且一直没有释放,导致出错。内存使用率高。
ps-mp9004-oTHREAD,tid,time,rss,size,%mem
我注意到PS命令可以检查a的CPU使用情况但是,不可能找到进程内特定线程的内存使用情况。
上一篇:java栈内存和堆内存的区别
下一篇:java程序运行内存图