说来尴尬,最近由于事情比较多,就一直懒得更新。之前dump到文件后发现是nio的缓存特别多,但是去动netty底层显然有点夸张,所以就把docker的mysql关了,也平稳运行了一段时间。今天发现又内存爆满,cpu 100%。top了一下发现占用最多的是2个java,admin和job,其中vega那个是job服务,root是跑在root下,这样好dump。
可以看到2个服务占用内存是25%,可是我想了一下,也没别的服务占内存啊?
恰好今天redis服务器到期了,原本job缓存那块要改,于是我就把job关了。顿时内存占用去掉60%。。。这么一想就通了,因为job的内存是可以一直增加的,而admin因为我限制了,所以差不多的时候就只能一直gc了,但是因为内存都被job吃了,导致admin再怎么玩也没用。所以我将job的启动参数也配置了一把,再跑跑看吧