Как предотвратить процесс зависания компьютера?

Процесс может привести к тому, что компьютер «замерзнет», например, при истощении процессора или свопа. Есть ли способ предотвратить это? Например, установив максимальный% CPU или IO MB / s, который может быть предоставлен процессу?

2 Solutions collect form web for “Как предотвратить процесс зависания компьютера?”

Для команды, которую вы запускаете из оболочки, прочитайте документацию оболочки на ulimit .

Существует функция ulimit() которая делает то же самое в C.

Существуют также различные ограничения, которые вы можете применять с помощью специфичных для реализации методов. В FreeBSD вы можете установить лимиты для каждого пользователя в login.conf или с помощью команды rctl . Некоторые дистрибутивы Linux используют limits.conf .

Существует программа cpulimit которая приостанавливает процесс, чтобы гарантировать, что с течением времени он использует меньше определенного количества процессора.

И, конечно же, всегда nice и nice , если вы просто хотите настроить приоритеты.

Частично. См. ulimit который обычно является командной консолью. (В bash, help ulimit ). Вы можете ограничить его память, общие циклы процессора и время (но не процент) и размер файлов, написанных им.

Вы также можете использовать команду nice . Но на самом деле, если нет ничего другого, требующего ресурсов, то приятное не будет иметь эффекта. Он вступает в силу только тогда, когда несколько процессов борются за ресурсы ЦП.

В Linux одна вещь, которую вы можете сделать, это сообщить убийце OOM, что этот процесс должен быть убит первым, когда память низкая.

  • Как узнать максимальное использование памяти в процессе?
  • Мониторинг процессов с использованием только системных вызовов (без утилит, таких как `top`)
  • как гарантировать, что программа всегда работает, но без доступа root?
  • Новый родительский процесс, когда родительский процесс умирает
  • Убейте все дерево процессов независимо от разных GID
  • Cron, чтобы проверить, запущен ли PHP-скрипт, если он не запускается
  • Должен ли я использовать acct Linux (учет процесса BSD) для отслеживания поведения процесса?
  • остановить параллельную обработку для инициированного cron процесса
  • Зачем нам нужны вилки для создания новых процессов?
  • Как фоновый процесс может узнать свой собственный PID?
  • Когда вы пытаетесь прекратить процесс навсегда, какой вариант «убить» следует использовать?
  • Посмотрите, сколько памяти было зарезервировано с помощью malloc () процессом в Linux
  • Interesting Posts

    Наклейки панели задач KDE исчезают

    Сколько времени занимает пользователь => переход в режим ядра?

    Команда не найдена при запуске скрипта в качестве другого пользователя

    Используйте Bash для Irssi

    Калибровка экрана 2.0

    Как можно использовать файл .iso для Debian для установки программного обеспечения без CD-диска или Интернета?

    nftables ip set несколько таблиц

    ACL назвал групповые разрешения не переопределением прав доступа к файлам. Зачем?

    Сколько можно сократить пространство, выделенное для моментального снимка LVM?

    Конфигурация режима Bash vi по умолчанию в режиме команд

    Замена Evernote на Emacs и markdown – .org список файлов

    Как заменить (беззнаковый) загрузчик в Debian на один из Ubuntu, чтобы сделать его загрузочным устройством с защищенной загрузкой?

    Как я могу предотвратить gunzip | ntfsclone для зависания, если источник zip не читается

    Компилировать приложение Linux для Windows

    Bash получает вход во время присутствия флага?

    Linux и Unix - лучшая ОС в мире.