Download PDF
Download page Ограничение ресурсов сессий пользователя.
Ограничение ресурсов сессий пользователя
Ограничение ресурсов сессий пользователя
В STAL поддерживается задание ограничений на используемые ресурсы сессий пользователя: память, процессор, количество процессов и задач, работа с сетью. Ограничения задаются в конфигурационном файле /etc/stal/limits.json
, по умолчанию применяются настройки секции «default».
Указанные ограничения ресурсов применяются непосредственно к пользователю, а не к конкретной его сессии.
Пример конфигурационного файла после установки STAL:
{
"default": {
"cpu:weight": 0,
"cpu:quota": 0,
"memory:high": "",
"memory:max": "",
"task:max": 0,
"network:deny": "",
"network:allow": ""
},
"groups": [
{
"name": "test-admins",
"cpu:weight": 0,
"cpu:quota": 0,
"memory:high": "",
"memory:max": "",
"task:max": 1024
},
{
"name": "test-users",
"cpu:weight": 0,
"cpu:quota": 20,
"memory:high": "2G",
"memory:max": "3G",
"task:max": 256
}
],
"users": [
{
"name": "vasyan",
"cpu:weight": 0,
"cpu:quota": 3,
"memory:high": "1G",
"memory:max": "2G",
"task:max": 128,
"network:deny": "any",
"network:allow": "localhost"
}
]
}
Конфигурационный файл содержит секции:
- «default»: задает ограничения по умолчанию;
- «groups»: задает ограничения для пользователя, если он состоит в указанной группе;
- «users»: задает ограничения для пользователя.
Список доступных параметров конфигурационного файла /etc/stal/limits.json
приведен в таблице.
Подробную информацию по используемым значениям параметров системы управления службами systemd
можно получить по ссылке: https://www.freedesktop.org/software/systemd/man/latest/systemd.resource-control.html.
Параметр | Назначение |
---|---|
name | Имя группы или пользователя, к которому будут применены ограничения |
| Соответствует параметру «CPUWeight» в системе управления службами Разрешенные значения от 1 до 10000, по умолчанию Значение «0»: функциональность не используется. |
| Соответствует параметру «CPUQuota» в системе управления службами Значение указывается в процентах на одно ядро процессора. Значение «0»: функциональность не используется |
| Ограничение использования памяти выполняемыми процессами. Ограничение может быть превышено, если это неизбежно, но в таких случаях процессы сильно замедляются. Соответствует параметру «MemoryHigh» в системе управления службами Значение задается в байтах. Также могут быть использованы суффиксы:
Значение не задано: параметр и функциональность не используются |
| Абсолютное ограничение использования памяти выполняемыми процессами. Если ограничение превышается, будет вызвано системное средство устранения нехватки памяти. Соответствует параметру «MemoryMax» в системе управления службами Значения задаются аналогично параметру Значение не задано: функциональность не используется |
| Максимальное количество задач, которые можно создать для сессии. Соответствует параметру «TasksMax» в системе управления службами Значение «0»: функциональность не используется |
| Соответствует параметру «IPAddressDeny» в системе управления службами В качестве значений можно указывать:
Значение не задано: функциональность не используется |
| Соответствует параметру «IPAddressAllow» в системе управления службами Значение не задано: функциональность не используется |
Для контроля значений ресурсов нужно воспользоваться командами:
sudo loginctl list-sessions
sudo systemctl show session-SID.scope
sudo systemctl show user-UID.slice
где:
SID
- идентификатор сессии пользователя;
UID
- идентификатор пользователя.