背景
最近准备上线cassandra这个产品,同事在做一些小规格ECS(8G)的压测。压测时候比较容易触发OOM Killer,把cassandra进程干掉。问题是8G这个规格我配置的heap(Xmx)并不高(约6.5g)已经留出了足够的空间给系统。只有可能是Java堆外内存使用超出预期,导致RES增加,才可能触发OOM。
调查过程
0.初步怀疑是哪里有DirectBuffer泄漏,或者JNI库的问题。
1.按惯例通过google perftools追踪堆外内存开销,但是并未发现明显的异常。
2.然后用Java NMT 看了一下,也没有发现什么异常。

3.查到这里思路似乎断了,因为跟DirectBuffer似乎没啥关系。这时候我注意到进程虚拟内存非常高,已经超过ECS内存了。怀疑这里有些问题。

4.进一步通过/proc/pid/smaps 查看
继续阅读与本文标签相同的文章
上一篇 :
DLA新函数发布:事件路径分析
-
回归架构本质,重新理解微服务
2026-05-20栏目: 教程
-
如何选择阿里云 服务器配置及服务器搭建
2026-05-20栏目: 教程
-
[审核中] 如何让流程立于云端,臻于至上?
2026-05-20栏目: 教程
-
研发效能提升和敏捷实施 36 计 资料合集
2026-05-20栏目: 教程
-
CentOS 7下使用 yum 安装 Docker 部署运行项目
2026-05-20栏目: 教程
