其实已经是今年四月份的事情,起因是笔者之前经常将服务部署在window台式机的wsl内,后来由于扩容麻烦,端口映射配置也费劲,就装了双系统,把原来wsl内的全部搞到了乌班图25系统上。所有应用都是通过docker进行部署。运行一段时间后发现32g内存仅剩下不到10g,当时也没多想,直接下单了32g的内存条。后面培训时候没事干,docker stats了下,发现mysql竟然他喵的占了快20个g...随后便去百度,最终找到了答案。另外附上mysql5.7中对这个配置的介绍。
也就是说会取这四个数的最大值。
下面是docker-compose.yml的配置方案:
services:
mysql:
ulimits:
nofile:
soft: 65536
hard: 65536
解决之后立马把内存条退了。从输出问题原因的大佬身上发现了一个解决问题的很好的方法,就是对比法。