Рейтинг:0

Как ограничить количество ядер процессора в Ubuntu / Virtualmin?

флаг is

СИСТЕМНАЯ ИНФОРМАЦИЯ
Тип и версия ОС
*Убунту Линукс 20.04.4

Виртуалмин версии 6.17-3*

Я единственный владелец своего сервера и всех виртуальных серверов. Я хочу ограничить ресурсы, используемые серверами. В настоящее время я настраиваю использование оперативной памяти, редактируя файл limit.conf следующим образом:

жесткая блокировка памяти oneofmyuser 1024

Теперь я запутался с опцией процессора в примерах кодов -

#Где:
#<домен> может быть:
# - имя пользователя
# - имя группы с синтаксисом @group
# - подстановочный знак * для записи по умолчанию
# - подстановочный знак %, также может использоваться с синтаксисом %group,
# для ограничения максимального количества логинов
# - ПРИМЕЧАНИЕ. Групповые и подстановочные ограничения не применяются к root.
# Чтобы применить ограничение к пользователю root, <домен> должен быть
# буквальное имя пользователя root.
#
#<type> может иметь два значения:
# - "мягкий" для применения мягких ограничений
# - "hard" для применения жестких ограничений
#
#<item> может быть одним из следующих:
# - core - ограничивает размер файла ядра (КБ)
# - данные - максимальный размер данных (КБ)
# - fsize - максимальный размер файла (КБ)
# - memlock - максимальное адресное пространство заблокированной памяти (КБ)
# - nofile - максимальное количество дескрипторов открытых файлов
# - rss - максимальный размер резидентного набора (КБ)
# - стек - максимальный размер стека (КБ)
# - cpu - максимальное время ЦП (МИН)
# - nproc - максимальное количество процессов
# - as - лимит адресного пространства (КБ)
# - maxlogins - максимальное количество логинов для этого пользователя
# - maxsyslogins - максимальное количество входов в систему
# - priority - приоритет запуска пользовательского процесса
# - locks - максимальное количество блокировок файлов, которое может удерживать пользователь
# - sigpending - максимальное количество ожидающих сигналов
# - msgqueue - максимальная память, используемая очередями сообщений POSIX (байты)
# - nice - максимально допустимый приоритет nice, который можно повысить до значений: [-20, 19]
# - rtprio - максимальный приоритет в реальном времени
# - chroot - изменить корень на каталог (специфично для Debian)

Как я могу ограничить моего пользователя, чтобы он использовал только 1 или 2 ядра? Есть значение ядра, но оно должно быть в килобайтах? Я хочу ограничиться, например, 2 ядрами? Так сколько кб? Тоже для процессора? Каковы идеальные значения этих параметров для обычного сервера с обычным сайтом WordPress?

Рейтинг:1
флаг no

В Linux вы можете привязать процесс к процессору с помощью набор задач. (Видеть мужской набор задач). (Смотрите также https://unix.stackexchange.com/questions/425065/linux-как-узнать-какие-процессы-закреплены-к-какому-ядру)

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

Чтобы использовать любой из них, вам нужно будет узнать, какой процесс запущен для пользователя, и добавить приведенные выше команды. Я не знаком с Virtualmin, но с открытым исходным кодом я подозреваю, что вы сможете довольно легко узнать, где он запускает эти процессы, просматривая исходный код.

Время процессора в лимиты.conf время ЦП в минутах, как показано в столбце «Время» вершина так что это всего лишь мера того, как долго процесс может выполняться исключительно.

Значение «ядро» в limit.conf (см. человек лимиты.конф) относится к размеру файла дампа ядра, который представляет собой дамп, который вы можете включить для процесса в случае его сбоя для отладки.

Предыстория этого заключается в том, что Linux был разработан, чтобы делать прямо противоположное — распределять задачи между процессорами — и он чрезвычайно хорош в этом. Единственная причина разумно ограничивать задачи ЦП на многоядерной машине - это делать что-то с идеальной синхронизацией или временными атаками.

Другие варианты — привязать ОС к определенным ядрам из загрузчика, или вы можете эмулировать отдельные процессоры или запускать контейнеры, закрепленные за определенными процессорами.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.