使用cgroup 限制程式的磁碟io

G8bao7發表於2015-01-28

from:http://blog.csdn.net/ylqmf/article/details/43205163

使用cgroup 限制程式的磁碟io

分類: MySQL Linux 153人閱讀 評論(1) 收藏 舉報

cat /etc/cgconfig.conf 

#

#  Copyright IBM Corporation. 2007

#

#  Authors:     Balbir Singh <>

#  This program is free software; you can redistribute it and/or modify it

#  under the terms of version 2.1 of the GNU Lesser General Public License

#  as published by the Free Software Foundation.

#

#  This program is distributed in the hope that it would be useful, but

#  WITHOUT ANY WARRANTY; without even the implied warranty of

#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

#

# See man cgconfig.conf for further details.

#

# By default, mount all controllers to /cgroup/

mount {

        cpuset  = /cgroup/cpuset;

        cpu     = /cgroup/cpu;

        cpuacct = /cgroup/cpuacct;

        memory  = /cgroup/memory;

        devices = /cgroup/devices;

        freezer = /cgroup/freezer;

        net_cls = /cgroup/net_cls;

        blkio   = /cgroup/blkio;

}

group shard_0{

        blkio{

                blkio.throttle.read_iops_device="253:3 16000";

                blkio.throttle.write_iops_device="253:3 16000";

                blkio.weight="500";

        }

}

group shard_1{

        blkio{

                blkio.throttle.read_iops_device="253:3 16000";

                blkio.throttle.write_iops_device="253:3 16000";

                blkio.weight="500";

        }

}

blkio.throttle.read_iops_device 讀iops

blkio.throttle.write_iops_device 寫iops

253:3是裝置的編號

比如我們要限制程式在flashcache上的iops

[root@test ~]# ls -l /dev/mapper/cachedev

lrwxrwxrwx 1 root root 7 Jan 25 21:16 /dev/mapper/cachedev -> ../dm-3

這裡看到只是一個軟連線,我們接著找

[root@test~]# ls -l /dev/dm-3 

brw-rw---- 1 root disk 253, 3 Jan 25 21:16 /dev/dm-3

因此我們限制某個程式在 flashcache上的iops最高16000就 寫成 253:3 16000

啟動cgroup

[root@c3-b2c-dba-backend-mysql09 /]# service cgconfig restart

Stopping cgconfig service:                                 [  OK  ]

Starting cgconfig service:                                 [  OK  ]

然後就可以將程式id寫進cgroup 對應的task了

[root@test shard_0]# pwd

/cgroup/blkio/shard_0

[root@test shard_0]# cat tasks 

48554

339938

340404

340414

340487

340498

340547

340560

340568

340581

340587

340602

340608

340609

340624

340633

340650

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26250550/viewspace-1417868/,如需轉載,請註明出處,否則將追究法律責任。

相關文章