当前位置: 移动技术网 > IT编程>数据库>MongoDB > cgroup限制mongodb进程内存大小

cgroup限制mongodb进程内存大小

2017年12月08日  | 移动技术网IT编程  | 我要评论

招玉芳老公,kiss皇室甜心txt,北京物资学院教务系统

以限制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()})

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网