【发布时间】:2018-11-14 23:13:55
【问题描述】:
我在只有自动化脚本(python 2.7.11)的 docker 容器中遇到了上述错误,并且我正在使用日志记录包来记录错误。
Traceback (most recent call last):
File "/usr/lib/python2.7/logging/__init__.py", line 885, in emit
self.flush()
File "/usr/lib/python2.7/logging/__init__.py", line 845, in flush
self.stream.flush()
IOError: [Errno 12] Out of memory
否则我看到下面的错误为launch_err 我得到了上述错误作为该docker容器的launch_err,我在日志中看到的就是这个 "(:[Errno 12] 内存不足 [/usr/lib/python2.7/site-packages/supervisor/supervisord.py|runforever|235] [/usr/lib/python2.7/site-packages/supervisor/ dispatchers.py|handle_read_event|232] [/usr/lib/python2.7/site-packages/supervisor/dispatchers.py|record_output|166] [/usr/lib/python2.7/site-packages/supervisor/dispatchers. py|_log|142] [/usr/lib/python2.7/site-packages/supervisor/loggers.py|info|275] [/usr/lib/python2.7/site-packages/supervisor/loggers.py|日志|293] [/usr/lib/python2.7/site-packages/supervisor/loggers.py|emit|86] [/usr/lib/python2.7/site-packages/supervisor/loggers.py|handleError| 90]
该容器有 1GB 内存,我尝试增加至 4GB,但它仍然崩溃并记录相同的错误。我相信它的内存泄漏来自日志包,它无法释放处理程序来刷新缓冲区。
【问题讨论】:
-
内存不足时只有两件事要做 - 获得更多或更少使用。
-
如果你不发布代码,很难看出你的代码在哪里使用了这么多内存。
-
你能看完
/var/log/messages吗? (使用less /var/log/messages)