问题和现象 服务通过k8s+docker方式部署,服务在无压力时基本都是稳定运行,但是qps高了以后,容器出现OOM就自动重启了。 造成原因 容器分配了2.6G的内存,其中80%留给jvm,code cache和非堆内存需要大概250M,但是我们线程比较多,大概几百个,默认每个线程栈消耗1M,这里的消耗也是用的非堆内,然后就达到了容器OOM的边缘。 解决办法 1、非堆内存预留大一点; 2、线程线程数量,尽量使用线程池;