Ограничьте память и процессор, доступные для пользователя в 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команда .

Другие вопросы по тегам