V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Zuckonit
V2EX  ›  Python

gevent 内存泄漏?

  •  
  •   Zuckonit · 2014-08-15 23:18:44 +08:00 · 5671 次点击
    这是一个创建于 3513 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近遇到一个问题, gevent并发开到很大的时候, 时间运行久了, 内存占用飙升, 几个G。 初步猜测是gevent内存泄漏么, google "gevent memory leak" 发现还真有, 没找到可行的解决方案。 请问大家有遇到这个问题的吗?

    gevent 版本 0.13
    7 条回复    2014-09-03 12:51:32 +08:00
    mengzhuo
        1
    mengzhuo  
       2014-08-16 16:06:08 +08:00
    0.13没测过,连接处理完难道没有close?


    -----说个数据-------
    上次压力测试1.0.1
    双核2.3G 4G内存
    简单的echo-add
    60K并发
    100秒内连接/随机发送,
    2个gevent child process共享端口
    19000的rps, 内存保持在160M左右
    Zuckonit
        2
    Zuckonit  
    OP
       2014-08-17 01:31:47 +08:00
    @mengzhuo 连接处理完没close指的是?
    jander
        3
    jander  
       2014-08-20 15:23:40 +08:00
    久了是多久?
    我曾经运行24小时,内存占用不变,gevent1.0+python3。
    Zuckonit
        4
    Zuckonit  
    OP
       2014-08-21 10:39:30 +08:00
    @jander 2个小时的样子, 并发很大, lsof发现很多socket文件被打开, 却没被关闭
    mengzhuo
        5
    mengzhuo  
       2014-09-03 11:52:30 +08:00
    @Zuckonit

    放码看看,你是不是用了链接池?或者被DDOS?
    Zuckonit
        6
    Zuckonit  
    OP
       2014-09-03 12:17:51 +08:00
    @mengzhuo 是用了连接池
    mengzhuo
        7
    mengzhuo  
       2014-09-03 12:51:32 +08:00
    @Zuckonit

    这…… 所以得检查是什么连接过多吧,这和gevent没啥关系,是代码的问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1535 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:10 · PVG 01:10 · LAX 10:10 · JFK 13:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.