Ограничьте память и процессор, доступные для пользователя в Linux
Меня немного беспокоит количество ресурсов, которые я могу использовать на общей машине. Есть ли способ проверить, есть ли у администратора ограничение на количество ресурсов, которые я могу использовать? И если да, то, чтобы сделать более полный вопрос, как я могу установить такой лимит?
Спасибо.
3 ответа
Для ограничений, связанных с процессом, вы можете посмотреть в /etc/security/limits.conf
(прочитайте комментарии в файле, используйте Google или используйте man limits.conf
для дополнительной информации). И, как указывает jpalecek, вы можете использовать ulimit -a
чтобы увидеть (и, возможно, изменить) все такие ограничения в настоящее время в силе.
Вы можете использовать команду quota
чтобы увидеть, действует ли дисковая квота.
Вы можете попробовать запустить
ulimit -a
чтобы увидеть, какие ограничения ресурсов действуют. Кроме того, если вам разрешено изменять такие лимиты, вы можете изменить их ulimit
команда, например
ulimit -c unlimited
снимает любое ограничение на размер основного файла, который может создать процесс.
На уровне C соответствующие функции (фактически системные вызовы(2)...) могут быть setrlimit(2) и setpriority(2) и sched_setattr(2) . Вы, вероятно, хотели бы, чтобы они вызывались из вашей оболочки.
См. также proc(5) - и попробуйте
cat /proc/self/limits
и план(7).
Вы можете использовать команду renice(1) .
Если вы запускаете длительную программу (в течение нескольких часов), не требующую взаимодействия с пользователем, вы можете рассмотреть возможность использования некоторой пакетной обработки . Некоторые системы Linux имеютbatch
или же
at
команда .