【Docker】Kylin V10 下 MySQL 容器内存占用异常的解决方法
发布网友
发布时间:2024-10-04 18:40
我来回答
共1个回答
热心网友
时间:2024-12-05 10:12
【Docker】Kylin V10 MySQL 容器内存占用异常的解决方案
在Kylin V10的MySQL容器中,启动时内存占用异常高,无业务运行时也超过16GB,这源于open_files_limit参数的异常设置。经过一系列排查和尝试,问题的根源在于open_files_limit参数值与默认值差异巨大,该参数控制MySQL同时打开的文件数量,直接占用内存。
在初期,尽管通过查看内存分配和调整内存参数,未发现明显的内存泄漏。查阅资料后,尝试将MySQL参数与默认值对比,调整参数值,但内存占用并无改善。最终,通过与正常系统对比,发现open_files_limit参数是问题的关键。由于Kylin V10可能存在兼容性问题,open_files_limit在容器启动时被重置为异常值。
为解决这一问题,我修改了docker-entrypoint.sh脚本,在MySQL服务启动前设置了open files参数为特定值,然后重新构建了MySQL镜像。这样做确保了open_files_limit的正确设定,从而解决了内存占用异常的问题。
虽然解决过程耗时,从周五晚到周六凌晨,但通过这次经历,不仅解决了工作中的难题,还扩展了对MySQL和相关知识的理解。这再次证明,面对问题,总能找到合适的解决之道。