3回复
4年前
请问下这个top里的4G怎么算的?
项目背景:最近我们重构了以前的项目,网关是用的spring cloud gateWay。上线一段时间后发现物理内存(top 里的RES)一直升高,然后会被OS kill。JVM未设置任何参数,直接启动的。这个网关很简单只做了url匹配、token校验、路由转发,很简单的功能,很奇怪占用那么高。现在看到top里的RES有4个G,没看明白怎么加起来有4个G?
top情况:
内存分布:
存活对象:
gc情况:
之前有点怀疑netty堆外内存,我用pmap没看到什么奇怪的东西,然后用arthas 手动gc了下,发现top里的ress没有降低,老年代也没降低。我想是不是单纯没设置最大内存的问题,我注意到老年代在网关这个服务不会超过100M,主要是ygc,所以想设置最大堆内存,调低老年代内存占比。现在我看堆大概只占2G,4G里还有2G用到哪去了?不知道我的优化思路对不对?顺便问下怎么统计堆外总内存,有没方便的命令?一直没实战调优经验,比较菜,请指导下,谢谢
3572 阅读