偶们的网站是基于Django开发的,部署在lighttpd + fastcgi模式,最近遇到一个诡异的问题,不定期有一个或几个进程内存突然飙升至几百兆濒临崩溃。想了很多办法调试

1、gdb动态attach上去,结果python2.5的gdbinit文件的宏似乎不起作用

2、试图使用valgrind未果

3、在python上加signal handler,但是出错时无法响应handler函数

最后只好临时增加一个脚本,检测内存过高的python进程并且直接kill之,算是个临时方案吧

sh 代码
  1. ps --no-headers -A -o "vsz %cpu rss sz ucomm pid" | awk '$1 > 80000 && $5 == "python" '{print $6}' | xargs kill -9  
评论
发表评论

您还没有登录,请登录后发表评论

fakechris
搜索本博客
博客分类
存档
最新评论