В Linux вы можете привязать процесс к процессору с помощью набор задач
. (Видеть мужской набор задач
). (Смотрите также https://unix.stackexchange.com/questions/425065/linux-как-узнать-какие-процессы-закреплены-к-какому-ядру)
Вы также можете использовать cpulimit
(видеть человек cpulimit
), который использует контрольные группы для установки предела использования ЦП, где 100 будет эквивалентно одному ЦП.
Чтобы использовать любой из них, вам нужно будет узнать, какой процесс запущен для пользователя, и добавить приведенные выше команды. Я не знаком с Virtualmin, но с открытым исходным кодом я подозреваю, что вы сможете довольно легко узнать, где он запускает эти процессы, просматривая исходный код.
Время процессора в лимиты.conf
время ЦП в минутах, как показано в столбце «Время» вершина
так что это всего лишь мера того, как долго процесс может выполняться исключительно.
Значение «ядро» в limit.conf (см. человек лимиты.конф
) относится к размеру файла дампа ядра, который представляет собой дамп, который вы можете включить для процесса в случае его сбоя для отладки.
Предыстория этого заключается в том, что Linux был разработан, чтобы делать прямо противоположное — распределять задачи между процессорами — и он чрезвычайно хорош в этом. Единственная причина разумно ограничивать задачи ЦП на многоядерной машине - это делать что-то с идеальной синхронизацией или временными атаками.
Другие варианты — привязать ОС к определенным ядрам из загрузчика, или вы можете эмулировать отдельные процессоры или запускать контейнеры, закрепленные за определенными процессорами.