Ниже приведена процедура настройки и использования групп ресурсов в Linux:

1. Чтобы использовать cgroups, вы должны установить пакет «libcgroup» в вашей системе:

# yum install libcgroup

2. Создайте файл конфигурации для cgroups:

# vi /etc/cgconfig.conf

mount {
cpu = /cgroup/cpumem;
cpuset = /cgroup/cpumem;
memory = /cgroup/cpumem;
}

# High priority group
group mysqldb {
cpu {
# Allocate the relative share of CPU resources equal to 75%
cpu.shares="750";
}
cpuset {
# No alternate memory nodes if the system is not NUMA
cpuset.mems="0";
# Allocate CPU cores 2 through 5 to tasks in the cgroup
cpuset.cpus="2-5";
}
memory {
# Allocate at most 8 GB of memory to tasks
memory.limit_in_bytes="8G";
# Allocate at most 16 GB of memory+swap to tasks
memory.memsw.limit_in_bytes="16G";
# Apply a soft limit of 4 GB to tasks
memory.soft_limit_in_bytes="4G";
}
}

3. Создайте файл определения правил cgroup:

# vi /etc/cgrules.conf

# Assign tasks run by the mysql user to mysqldb
mysql cpu,cpuset,memory mysqldb

4. Запустите службу cgconfig и настройте ее на запуск при загрузке системы.

$ service cgconfig start
$ chkconfig cgconfig on

5. На этом этапе группа ресурсов для MySQL готова и на месте.

Перезапустите mysqld, и ресурсы будут разрешены в соответствии с конфигом и правилами, приведенными выше.

6. Вы также можете найти и изменить пределы группы ресурсов во время выполнения.

— Чтобы найти пределы ресурса:

$ cgget -r memory.stat mysqldb

— Чтобы установить ограничения ресурсов:

$ cgset -r blkio.throttle.read_bps_device="8:1 0" iocap1

— Чтобы сохранить текущий измененный конфиг для будущего использования:

$ cgsnapshot -s > current_cgconfig.conf
Поделитесь статьей:

Добавить комментарий