VPS 内存吃紧了怎么办? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
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
yakiang

VPS 内存吃紧了怎么办?

  •  
  •   yakiang Mar 31, 2014 6112 views
    This topic created in 4409 days ago, the information mentioned may be changed or developed.
    VPS现在有 2G 内存 + 2G swap,但一周时间就全部吃完了。
    日均PV也就200左右,后端用的 Nginx + uWsgi(2 processes) + Flask,数据库使用 sqlite + redis。
    http://bcs.duapp.com/wxtuku/IoR7Avawb2.png
    一开始我以为 linux 有比较 smart 的内存管理就一直没管它,直到 ssh 都进不去了……
    首页还是可以访问,但对一些需要访问数据库的 POST 请求就无法正常response了。
    所以我想请教各位面对内存越来越少的情况都是怎么处理的?没有经验求轻喷
    19 replies    1970-01-01 08:00:00 +08:00
    timothyye
        1
    timothyye  
       Mar 31, 2014 via Android   1
    这个pv应该不至于内存不够用
    misaka
        2
    misaka  
       Mar 31, 2014   1
    redis 占了多少啊?
    a591826944
        3
    a591826944  
       Mar 31, 2014   1
    512M 阿里云路过。。。不敢装 memcache 不敢装 redis 你就是装太多了
    yakiang
        4
    yakiang  
    OP
       Mar 31, 2014
    @misaka 之前耗光时直接重启了没看redis占了多少。这是重启后按top的结果,不知道那么多个python在做什么
    http://bcs.duapp.com/wxtuku/jwqpiZ23WR.png
    @a591826944 我以为2g内存加swap应该可以应付redis……
    kevinv
        5
    kevinv  
       Mar 31, 2014   1
    kill掉系统没有必要的服务,查看内存占用比较大的程序。日pv200内存还不够用,真是奇了怪了。
    misaka
        6
    misaka  
       Mar 31, 2014
    @yakiang 嗯,截图我看了。。。所以说。。。redis 到底占了多少啊?
    misaka
        7
    misaka  
       Mar 31, 2014   1
    你用 htop ,进去以后按 F6 在左侧选择 MEM%,然后回车,再截个图看看?
    yakiang
        8
    yakiang  
    OP
       Mar 31, 2014
    @misaka 这是top下按占用内存大小排序的结果,所以重启后的redis根本没在里面。。。
    如果硬要看得话,用ps aux 看到的是这样的
    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    redis 787 0.0 0.0 36912 1888 ? Ssl 18:38 0:05 /usr/bin/redis-server

    @kevinv 貌似确实后台有很多看不懂在做什么的进程。。。
    yakiang
        9
    yakiang  
    OP
       Mar 31, 2014
    @misaka 我擦,根据htop知道那么多python是什么了,他们都指向之前安装失败的YouCompleteMe的几个文件,我先把插件卸了再重启试试
    octopus_new
        10
    octopus_new  
       Mar 31, 2014
    没三天运行一次:
    #sync
    #echo 1 > /proc/sys/vm/drop_cache
    手动释放cache, 看看有什么变化:)
    octopus_new
        11
    octopus_new  
       Mar 31, 2014   1
    更正一下 echo 1 > /proc/sys/vm/drop_caches
    少了个s
    yakiang
        12
    yakiang  
    OP
       Apr 1, 2014
    @octopus_new 是的,之前有试过这么做,会把 buffers/cache 里的内存释放出来好像。但好像也只是减缓内存被占满的速度而已 :(
    VYSE
        13
    VYSE  
       Apr 1, 2014
    @yakiang 这个时间top没啥特别的,python也都是共享页只占一点内存。得监控内存上去时候是怎么个情况。
    raptor
        14
    raptor  
       Apr 1, 2014
    200PV…我都是用128M内存的VPS跑的…
    lang1pal
        15
    lang1pal  
       Apr 1, 2014
    @octopus_new 我觉得这样没用的吧,因为这样释放的是空闲内存,而这里是占用的swap明显是内存不够了
    cevincheung
        16
    cevincheung  
       Apr 1, 2014
    关机
    lm902
        17
    lm902  
       Apr 2, 2014
    升级内存
    kaneg
        18
    kaneg  
       Apr 2, 2014
    200PV用2G内存,太奢侈了吧,几乎可以肯定是程序有bug
    lightening
        19
    lightening  
       Apr 2, 2014 via iPhone
    我觉得看你描述好像是运行很久后占内存越来越大啊,肯定有什么地方内存泄漏了吧。
    老进程没杀掉,redis 只储存不 expire 之类的。
    About     Help     Advertise     Blog     API     FAQ     Solana     3617 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 101ms UTC 04:44 PVG 12:44 LAX 21:44 JFK 00:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86