记一次OOM问题排查过程
上周运维反馈线上程序出现了OOM....
JVM 老年代和新生代的比例
Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。
浅析JAVA中堆内存与栈内存的区别
Java把内存划分成两种:**一种是栈内存,一种是堆内存。**
Eclipse MAT:浅堆 vs 保留堆
有没有想要搞清楚浅堆(Shallow Heap)和保留堆(Retained Heap)之间的区别?
JVM heap dump分析
在故障定位(尤其是out of memory)和性能分析的时候,经常会用到一些文件辅助我们排除代码问题。这些文件记录了JVM运行期间的内存占用、线程执行等情况,这就是我们常说的dump文件。常用的有heap dump和thread dump(也叫javacore,或java dump)。我们可以这么理解:heap dump记录内存信息的,thread dump记录CPU信息。
常见heapdump文件分析工具
常见heapdump文件分析工具
MAT从入门到精通(一)
尽管JVM提供了自动内存管理的机制,试图降低程序员的开发门槛,确实也实现了这一目标,在日常开发中,我们一般都不需要关心对象的内存释放。JVM大部分都是使用trace算法来判断一个对象是否该被回收,那么JVM只能回收那些从gc roots不可达的对象
JVM实战:JVM常用监控工具
JVM实战:JVM常用监控工具
JVM 与 Linux 的内存关系详解
在一些物理内存为8g的服务器上,主要运行一个Java服务,系统内存分配如下:Java服务的JVM堆大小设置为6g,一个监控进程占用大约 600m,Linux自身使用大约800m。