以限制mongodb的内存大小为例。

mkdir /cgroup/memory/test/ 
echo 50M > /cgroup/memory/test/memory.limit_in_bytes 
echo 50M > /cgroup/memory/test/memory.memsw.limit_in_bytes 
cgexec -g memory:test mongod -port 27017 --bind_ip 127.0.0.1 --dbpath /var/lib/mongo

通过cgroup限制后,当内存达到限额,进程会被kill。

[root@centos mongo]# cgexec -g memory:test mongod -port 27017 --bind_ip 127.0.0.1 --dbpath /var/lib/mongo 
2014-07-18T23:20:53.228+0800 [initandlisten] MongoDB starting : pid=2529 port=27017 dbpath=/var/lib/mongo 64-bit host=centos 
2014-07-18T23:20:53.228+0800 [initandlisten] db version v2.6.3 
2014-07-18T23:20:53.228+0800 [initandlisten] git version: 255f67a66f9603c59380b2a389e386910bbb52cb 
2014-07-18T23:20:53.228+0800 [initandlisten] build info: Linux build12.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49 
2014-07-18T23:20:53.228+0800 [initandlisten] allocator: tcmalloc 
2014-07-18T23:20:53.228+0800 [initandlisten] options: { net: { bindIp: "127.0.0.1", port: 27017 }, storage: { dbPath: "/var/lib/mongo" } } 
2014-07-18T23:20:53.304+0800 [initandlisten] journal dir=/var/lib/mongo/journal 
2014-07-18T23:20:53.304+0800 [initandlisten] recover : no journal files present, no recovery needed 
2014-07-18T23:20:53.374+0800 [initandlisten] waiting for connections on port 27017 
2014-07-18T23:20:57.838+0800 [initandlisten] connection accepted from 127.0.0.1:36712 #1 (1 connection now open) 
2014-07-18T23:21:15.077+0800 [initandlisten] connection accepted from 127.0.0.1:36713 #2 (2 connections now open) 
2014-07-18T23:21:52.342+0800 [conn2] getmore test.my_collection cursorid:34538199491 ntoreturn:0 keyUpdates:0 numYields:39 locks(micros) r:121572 nreturned:95052 reslen:4194299 202ms 
2014-07-18T23:21:53.376+0800 [clientcursormon] mem (MB) res:136 virt:12809 
2014-07-18T23:21:53.376+0800 [clientcursormon] mapped (incl journal view):12508 
2014-07-18T23:21:53.376+0800 [clientcursormon] connections:2 
2014-07-18T23:21:56.790+0800 [conn2] getmore test.my_collection cursorid:34538199491 ntoreturn:0 keyUpdates:0 numYields:88 locks(micros) r:142113 nreturned:95595 reslen:4194301 244ms 
Killed

数据查询脚本:

[root@centos data]# cat mongotestList.py 
import pymongo 
import time 
 
client = pymongo.MongoClient("localhost", 27017) 
db = client.test 
print db.name 
print db.my_collection 

for item in db.my_collection.find(): 
  print item

数据插入脚本:

[root@centos data]# cat mongotest2.py 
import pymongo 
import time 

client = pymongo.MongoClient("localhost", 27017) 
db = client.test 
print db.name 
print db.my_collection 

while True: 
  db.my_collection.save({time.ctime(): time.time()})

标签:
cgroup,mongodb

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无争山庄资源网 Copyright www.whwtcm.com

评论“cgroup限制mongodb进程内存大小”

暂无“cgroup限制mongodb进程内存大小”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。