Установка приоритетов для процессов в linux: nice

Команду nice можно также использовать для запуска процесса с другим приоритетом. Опция -n (или –adjustment) с положительным значением повышает приоритет, а эта же опция с отрицательным значением – понижает его. Помните, что процесс с наименьшим приоритетом имеет максимальное значение параметра niceness, поэтому увеличение этого значения означает, что процесс становится более дружелюбным по отношению к другим процессам. Заметьте, что, как правило, понижать значение приоритетов процессов может только суперпользователь (root). Другими словами, обычные пользователи могут делать процессы лишь более дружелюбными.

nice -n -5 top                     # Повысить приоритет процесса (/bin/nice)
nice -n 5 top                      # Понизить приоритет процесса (/bin/nice)
nice +5 top                        # Понизить приоритет процесса

Продемонстрируем пример использования nice для сервисов NGINX, APACHE, PHP-FPM. Это может быть полезно если у вас на сервере работают другие скрипты и недостаток процессорной можности сказывается на работоспособности сайтов.

NGINX: /etc/init.d/nginx

start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "
    daemon "/bin/nice -n -5 $nginx" -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}

APACHE: /etc/init.d/httpd

start() {
        echo -n $"Starting $prog: "
        LANG=$HTTPD_LANG daemon --pidfile=${pidfile} "/bin/nice -n -2 $httpd" $OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch ${lockfile}
        return $RETVAL
}

PHP-FPM: /etc/init.d/php-fpm

start () {
        echo -n $"Starting $prog: "
        dir=$(dirname ${pidfile})
        [ -d $dir ] || mkdir $dir
        daemon --pidfile ${pidfile} "/bin/nice -n -2 php-fpm"
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch ${lockfile}
}

Для применения настроек потребуется перезагрука сервисов, результат можно увидеть в выводе top, либо ps.

Related posts:

  1. Установка Netams-3.4.5 под Centos. Настройка и тюнинг Бесплатное программное обеспечение NETAMS 4.0 (релиз 489 от 4 марта)...
  2. Установка связки nginx + apache В данной статье основной упор делается на связку nginx +...
  3. Установка Monit – средства мониторинга Unix систем Monit – это open source утилита для управления и мониторинга...
  4. Installing Asterisk and FreePBX on Ubuntu Server 6.06 LTS This document assumes prior knowledge of how to use Linux...
  5. Установка сервера AAA (FreeRadius) В системах RedHat достаточно установить ААА-сервер из репозитария: Запустить сервис...
You can leave a response, or trackback from your own site.

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

*