三万字长文:JVM内存问题排查Cookbook
2024年1月25日 - 腾讯新闻
当Java进程被Linuxkill的原因可能是别的进程占用过大内存,比如在生产机器中用vim打开过大的文件。导致其他进程被杀死。直观表现就是进程无故丢失。详情见扩展阅读->OOMKiller。确定是JVM问题后跳转到Step2.3Step2.2判断是否是JVM内存泄漏:内存占用缓慢增加一定是内存泄漏吗?首先内存占用缓慢增加不一定是内存泄...
详情
一次完整的JVM堆外内存泄漏故障排查记录
2020年8月29日 - 网易
当时猜测是由于JVM进程并没有对于直接内存大小进行限制(-XX:MaxDirectMemorySize),所以堆外内存不断上涨,并不会触发FullGC操作。「上图能够得出两个结论:」在内存泄露的接口调用量很大的时候,如果恰好堆内老生代等其他情况一直不满足FullGC条件,就一直不会FullGC,直接内存一路上涨。而在平时低调用量的情况下,...
详情