2016-11-17 148 views
4

两个docker容器(1.8.32), 中的两个mysql(5.6.20)实例主和从站建立彼此的半同步复制, 然后用户执行一些在master中操作的dml或ddl始终。mysql在Docker容器中挂起

经过十天以上,所有连接到从客户端将挂起

GDB -p/strace的奴隶mysqld进程挂起

的pstack/PERF顶部-p从mysqld进程显示什么

杀-9不会杀死mysqld进程

码头工人停止不会停止泊坞窗容器

什么工具或方法可以帮助定位问题?

+1

请看看[如何创建一个最小,完整和可验证的示例](http://stackoverflow.com/help/mcve) – mmushtaq

回答

2

我今天也有同样的情况发生。在我的例子中,使用docker集线器的当前“最新”的mysql映像,使用docker撰写来调出mysql和一系列消费者。 (5.7.16-1debian8)

我已经发布了其中的一些内容,并且在一个星期内我看到了一些mysql有超过100个线程的实例,主机上的所有内存都被消耗,容器被挂起。我无法阻止任何事情,甚至无法重新启动。只有虚拟机的重新启动才能恢复。

我会尝试和监控。我怀疑它高度依赖基础架构负载(速度较慢的VM主机导致查询速度较慢)。该解决方案更可能是mysql调优和docker bug。

+0

非常感谢,我试图找到docker和linux kernal中的问题 –