性能问答>请问下这个top里的4G怎么算的?>
3回复
4年前

请问下这个top里的4G怎么算的?



项目背景:最近我们重构了以前的项目,网关是用的spring cloud gateWay。上线一段时间后发现物理内存(top 里的RES)一直升高,然后会被OS kill。JVM未设置任何参数,直接启动的。这个网关很简单只做了url匹配、token校验、路由转发,很简单的功能,很奇怪占用那么高。现在看到top里的RES有4个G,没看明白怎么加起来有4个G?

top情况:
image.png

内存分布:
image.png

image.png

存活对象:
image.png

gc情况:
image.png

之前有点怀疑netty堆外内存,我用pmap没看到什么奇怪的东西,然后用arthas 手动gc了下,发现top里的ress没有降低,老年代也没降低。我想是不是单纯没设置最大内存的问题,我注意到老年代在网关这个服务不会超过100M,主要是ygc,所以想设置最大堆内存,调低老年代内存占比。现在我看堆大概只占2G,4G里还有2G用到哪去了?不知道我的优化思路对不对?顺便问下怎么统计堆外总内存,有没方便的命令?一直没实战调优经验,比较菜,请指导下,谢谢

3527 阅读
请先登录,查看3条精彩评论吧
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步