Можно ли использовать cpu.shares с cpu.cfs_quota_us? - PullRequest
0 голосов
/ 19 февраля 2019

Я настраиваю конфигурацию cgroups для своей исследовательской группы.Сервер имеет 8 процессоров.Член команды мог использовать только часть времени процессора, поэтому для команды я установил cpu.cfs_quota_us = 400000.Я также хочу добавить приоритет задачи с помощью cpu.shares.

Например, вот мой конфиг cgroup:

group team {
    cpu {
        cpu.cfs_period_us = 100000;
        cpu.cfs_quota_us = 400000; #4 CPUs
    }
}

group team/user1 {
    cpu {
        cpu.shares = 256;
    }
}

group team/user2 {
    cpu {
        cpu.shares = 768;
    }
}

cpu.shares работает, только если я устанавливаю cpu.cfs_quota_us родительской группы-1 и все процессоры используются.

Могут ли cpu.cfs_quota_us и детский процессор работать совместно?

1 Ответ

0 голосов
/ 19 февраля 2019

cpu.shares не предназначен для установки приоритета задачи.

Используется для определения относительного (абстрактного) объема совместного использования ЦП, то есть, когда ЦП вместо этого предназначен для задач определенной группы / пользователядругого.

Здесь вы в основном говорите, что team/user2 будет иметь в три раза (768/256) больше выделенного времени вычислений, чем team/user1 для своих задач.Другими словами, team/user2 будет использовать 75% процессорного времени, а team/user1 только 25%.

cpu.shares и cpu.cfs_quota_us делают то же самое, но двумя разными способами.Первый использует относительное представление разделения времени, а второй использует точное количественное определение в микросекундах.Поскольку оба они используются для определения совместного использования времени процессора, их нельзя использовать вместе.

Некоторые документы: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/resource_management_guide/sec-cpu

...