使用cgroup做磁碟io的資源隔離,用到blkio子系統
先測試blkio限制dd的情況,很重要的一點是只能限制direct io, dd if=/dev/zero of=/mongodb/dd1 bs=4k count=10240 oflag=direct
在測試mongod的時候,直接限制mongod的程序不起作用,猜測可能是mongod是先往記憶體裡寫,不是direct io,後來直接限制啟動mongod所在的shell 程序,成功
mkdir /cgroup/blkio
mount -t cgroup -o blkio mongoblk /cgroup/blkio
mkdir /cgroup/blkio/groupa
echo $$ > /cgroup/blkio/groupa/tasks
echo "104:16 2097152" > /cgroup/blkio/groupa/blkio.throttle.write_bps_device (2mb/s)
mongod的資料插入基本1000每秒左右
echo "104:16 4194304" > /cgroup/blkio/groupa/blkio.throttle.write_bps_device (4mb/s)
mongod的資料插入基本2000每秒左右
正常情況下3000-4000每秒左右
cgroup使用 memory資源限制
同樣,cgroup也可以對memory資源進行限制。下面以乙個例子來驗證cgroup對記憶體限制的使用。1.編寫程式,迴圈分配600m記憶體。include include include define chunk size 1024 1024 100 intmain memset p,0 chun...
使用cgroup限制磁碟io讀寫速率
在mysql innobackupex全備期間,磁碟io基本被打滿,設定過 throttle效果不明顯,throttle this option specifies a number of i o operations pairs of read write per second.it accept...
使用cgroup限制某個程式對記憶體的使用
線上的mongodb是複製集模式的。為了便於監控mongodb的慢查詢等狀態,在3臺機器上都部署了packetbeat,通過抓取27017埠的流量傳送到es集群。但是第二天發現zabbix告警,顯示某一台機器a 從節點 上的mongod程序宕了。日誌顯示是oom導致的。再一想到,我們每天的mongo...