docker entrypoint 为crond导致golang的进程出现好多僵尸进程

最近的服务器出现每到周末就出问题,现象是ssh不能登录。

具有一定的规律性:就是达到一定的时间就爆发。

golang写的cron获取的标准错误日志是进程fork出错,memory也出错。

开始以为是golang的进程有内存溢出。也着手优化可疑的代码行,但是心里还是没底,总感觉不是go程序本身出问题。

一次偶然的机会发现了系统有大量的僵死进程,并且kill不了,后来发现僵死进程的父进程id是docker守护进程。

考虑到最近docker的entrypoint修改成了,crond,并且根据最近出故障的时间点判断基本是这个问题了。

然后就是修改这个entrypoint,测试验证之后,问题彻底修复。

有类似情况可以一块交流。

你可能感兴趣的:(docker,golang,容器)