部署 Nginx (Passenger)+Mongodb+Redis 占了 460Mb 内存正常吗

hlcfan · 2012年04月25日 · 最后由 hlcfan 回复于 2012年04月28日 · 4561 次阅读

Nginx(Passenger)+Mongodb+Redis (Ruby1.9.3) 占了 460Mb 内存正常吗?

这是截图,如果还有别的地方不对的,请指出。多谢! 请看:-----此图使用 shift+m 排序过的. deploy

Nginx Ruby 应该还可以。

ruby 1.8.7 单进程平均跑到过 150m 比你这个大不少。

#1 楼 @zmbacker 那就说这个正常?

恩 挺正常的

mongo 占内存貌似没上限.. 如果你数据量大,用独立机器比较好

#4 楼 @aNdReW_Qx 我买的 linode 512 的。感觉太小了...

我發現 Ruby 在 64 位元 (Ubuntu) 裡的內存會比 32bit 的環境大約 1 倍。為此我特別重裝成 32 bit。我也是用 linode 的 512 方案。上面跑 5 個 rails 的網站,速度不快,勉強能用。

#6 楼 @cactis 我这才跑了一个,就占了这么多。你竟然跑五个.gosh.

内存小不适合跑多个 rails 应用。可以尝试用 Heroku 类的云服务。

#5 楼 @hlcfan 适当减少 passenger 实例吧,mongo 你可以考虑 MongoHQ 之类的服务,mongodb 的机制会把所有的空余内存都用来做缓存,无法配置,虽说当其他程序请求的时候会吐出一些空间来,但是我还是发现导致 swap 读写增加了很多

#9 楼 @aNdReW_Qx

$ps aux| grep -v grep| grep passenger
root     29885  0.0  0.1   6668   528 ?        Ss   Apr23   0:00 nginx: master process /var/lib/passenger-standalone/3.0.12-x86-ruby1.9.3-linux-gcc4.6.3-1002/nginx-1.0.15/sbin/nginx -c /tmp/passenger-standalone.29738/config -p /tmp/passenger-standalone.29738/

现在只有一个实例。

#8 楼 @zmbacker 我现在在一台 256 上的机器跑服务。。。

virt memory 不是实际内存使用量,这里包括了共享的 lib 使用内存量。要看后边的那栏 RES。

#11 楼 @ywjno 可以跑,我是说不适合跑多个 rails 应用,我用 512 内存的 vps 跑过 4 个 rails 2.3.5 REE, nginx mysql 一个 php WP, 每个程序都有一定的访问量 做不是特别热门关键词的百度推广。内存几乎用完。不能再启动新 rails 实例。

如果其中有访问量稍微大一些 可能就要经常去解决内存问题。比较麻烦 所以说不适合。

楼上所有的筒子们. 我之前用 passenger standalone 模式跑,占这么多内存. 我今天换成了非 standalone,暂且叫 integrated 模式吧。请看!:

[hlcfan@li414-74 chatpro]$ free -m
             total       used       free     shared    buffers     cached
Mem:           494        241        253          0         15         97
-/+ buffers/cache:        128        366
Swap:          511          0        511


一下子就一半了!求解释!

匿名 #15 2012年04月26日

linode 512 不建议用 mongodb 性价比太低。

楼主做一些基准测试就可以得到相应经验了。

#15 楼 @qing 你好,我不太理解你的话。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号