Программа nice что это

Приоритеты работы программ в Linux

Процесс создания бэкапов или запуск других тяжёлых скриптов может сопровождаться существенным отъеданием ценных ресурсов процессора и диска. Из-за этого другие задачи, может быть более важные, начинают выполняться с существенными тормозами. В статье об утилитах и способах, которые помогут с этим бороться.

Типичная ситуация. Имеем веб-сервер, на котором по расписанию создаются бэкапы. Естественно, что очень не желательно, чтобы в момент, когда это происходит, падала производительность. Бекапы – это хорошо. Но главное, чтобы веб-сервер исправно выполнял свою основную функцию.

Есть две программы: nice и ionice .

nice — позволяет изменить для программы приоритет выполнения процессором. Формат использования:

nice -n 19 команда

Здесь число 19 задаёт наименьший приоритет. можно использовать цифры в диапазоне от -20 до 19 . Соответственно -20 — это наибольший приоритет. Если приоритет не задается принудительно, то считается, что он равен 0. Примеры использования:

Установка распашной автоматики Nice


nice -n 19 tar -czf /tmp/pack.tar.gz dir nice -n 19 backup.sh

ionice — позволяет изменить для программы приоритет при операциях ввода/вывода. Формат использования:

ionice -c2 -n7 команда

Здесь первое число задаёт класс, а второе приоритет. Класс задаётся цифрой от 1 до 3 , означают они следующее:

  1. Real time — преимущество при операциях, без обращения внимания на работу других процессов. При этом дополнительно задаётся приоритет от 0 до 7 . Минимальный приоритет это 7 .
  2. Best Effort — класс используется по умолчанию. Аналогично дополнительно задаётся приоритет от 0 до 7 . Минимальный приоритет это 7 .
  3. Idle — операции ввода/вывода допустимы только в случае, если их требуют другие программы. В общем, когда диск простаивает без дела. Приоритет в данном случае не задаётся.

ionice -c2 -n7 tar -czf /tmp/pack.tar.gz dir ionice -c3 backup.sh

Можно совместить использование nice и ionice , пример:

nice -n 19 ionice -c2 -n7 tar -czf /tmp/pack.tar.gz dir

Можно добавлять эти команды прямо в крон:

0 3 * * * nice -n 19 ionice -c2 -n7 /home/backup_script.sh

В данном случае все команды, которые есть в файле backup_script.sh будут выполняться с заданными приоритетами.

Если не помогает

Особенно актуально, когда на веб-сервере жутко тормозной диск. Расставленные приоритеты, как показано выше, не дают эффекта.

Существует утилита pv — это сокращенно pipeviewer. Установка:

apt install pv

Pipe — это канал, конвейер. Такие создаются при упаковке файлов, копировании и т.д. Утилита позволяет смотреть и контролировать их.

Пример упаковки каталога в архив:

tar cvzf — нужный_каталог | pv -L 1m >архив.tar.gz

Здесь при помощи утилиты pv мы ограничиваем пропускную способность канала до 1Мб в секунду. Значение подбирайте свое, по ситуации.

Источник: d1mon.com

linux nice

Команда nice, или вежливые процессы

Когда на компьютере достаточно процессорного времени на исполнение всех процессов, нет необходимости в выставлении приоритетов. Но когда необходимо параллельно запустить несколько процессов, каждый из которых использует всё доступное процессорное время, может очень пригодиться утилита nice.

Команда nice запускает программу с изменённым приоритетом для планироващика задач. Слово «nice» в английском языке обозначает, в частности, «вежливый». По этимологии этой команды процесс с большим значением nice — более вежлив к другим процессам, позволяя им использовать больше процессорного времени, поскольку он сам имеет меньший приоритет (и, следовательно, большее «значение вежливости» — niceness value).

Наибольший приоритет (и наименьшее значение nice) — −20. 19, либо 20 — наименьший приоритет, но это, с другой стороны, самые вежливые процессы.

Чтобы посмотреть идентификатор и значение nice нужного процесса в системе, можно воспользоваться командой ps axl.

Пример использования команды nice — запуск ресурсоёмкой задачи в фоновом режиме, так, чтобы она выполнялась, но освобождала часть процессорного времени для других процессов, как только оно становятся им нужно. Таким образом можно, скажем, запустить кодирование OGG/MP3 с большим значением nice, чтобы оно происходило в фоновом режиме, используя не всё процессорное время, а то, что не используется другими процессами (с меньшим значением nice — то есть с большим приоритетом).

Чтобы запустить команду с определённым приоритетом, слева нужно добавить «nice -n значение_nice», либо «nice —adjustment значение_nice» (adjustment — настройка, регулировка).

То есть: nice -n значение_nice команда.

Если нужно изменить приоритет уже запущенного процесса, можно воспользоваться командой renice.

renice -n значение_nice id_процесса

Команда renice выводит старый и новый приоритет процесса.

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

Источник: habr.com

Системы записи разговоров NICE

NICE Systems является безусловным мировым лидером систем записи. Система записи вызовов NICE позволяет записывать не только всю аудиоинформацию, связанную с вызовом, но и все сопутствующие CTI-данные, включая синхронную запись всех компьютерных экранов, которые открывались на мониторе у оператора во время обслуживания вызова (что особенно важно при интеграции Контакт-центра с CRM-системой и одновременном обслуживании нескольких видов вызовов). Именно такая совместная запись голоса и CTI-данных позволяют организовать многокритериальные поиск и запись.

Читайте также:
Camstudio это что за программа

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

Оборудование системы записи может стыковаться со всеми ведущими коммутационными системами мира такими как Avaya, Cisco, Nortel, Alcatel, NEC, Matra, Aspect. Система записи также может быть состыкована с оборудованием компаний Motorola, Nokia. Nice Logging System упешно работает также для Call Center и может стыковаться как с вышеуказанными системами, так и с Call Center Genesys. При работе в среде Call Center поддерживается функция записи не по внутреннему номеру оператора, а по его логическому («Free Seating»).

Система записи имеет следующие характеристики:

• максимальная емкость записи: до 16 потоков Е1 (480 каналов) на один сервер (серверов может быть несколько), 120 цифровых тел. аппаратов на один сервер; 120 аналоговых каналов на один сервер (возможно записывать как аналоговые тел. аппараты так и аналоговые соединительные линии диспетчерской связи, транковой связи и т.д.);
• максимальная емкость хранения на системном жестком диске: до 40000 канало-часов (максимальная емкость хранения записи на внешнем носителе или Nice Storage: неограниченно);
• максимальная емкость хранения CTI данных: до 45 миллионов вызовов в расширенной конфигурации (время хранения записей (7 лет).

Базовыми элементами системы записи NICE являются два сервера: NiceLog и NiceCLS, соединяемые с телефонной станцией цифровым или аналоговым интерфейсом и включенных в локальную компьютерную сеть Контакт-центра. Опционально могут быть установлены Nice Screen, Nice Web, Nice Storage, Nice SNMP Manager.

NiceLog предназначен для записи и хранения самих разговоров. Все разговоры записываются в чрезвычайно сжатом формате (что позволяет экономить память) и хранятся либо на жестком диске, либо на DAT-пленках либо на Nice Storage.

NiceCLS предназначен для записи и хранения для каждого разговора соответствующих CTI-данных, например, идентификаторы оператора и клиента, информацию о набранном номере и т.д. (при этом сами записи разговоров хранятся в NiceLog). NiceCLS представляет собой Windows NT сервер, подключаемый по локальной сети к серверу компьютерно-телефонной интеграции (Т-серверу) Контакт-центра, что позволяет не только получать CTI-данные, но и гибко управлять процессом записи. Опционально может подключаться также сервер NiceUniverse Screen Capture для синхронной записи всех компьютерных экранов, сопутствующих разговору оператора с вызывающим абонентом.

Опционально может подключаться также сервер Nice Screen Capture для синхронной записи всех компьютерных экранов, сопутствующих разговору оператора с вызывающим абонентом. Nice Storage для долговременного хранения записей, Nice Web для доступа к записям через http, Nice SNMP Manager для мониторинга состояния серверов.

Предусмотрены следующие режимы записи:

1. Тотальная запись («TotalRecording») внутренних номеров без CTI данных (ExtensionSideTotalRecordingWithoutCLS).
Преимущества: наименьшая стоимость; возможность тотальной записи только требуемых внутренних номеров; возможность записи внутренних вызовов.

Тотальная запись внутренних номеров вместе с CTI данными (ExtensionSideTotalRecordingWithCLS):

• возможность записи CTI данных (благодаря серверу NiceCLS), а следовательно, возможность задания гибких критериев записи и поиска;
• возможность тотальной записи только требуемых внутренних номеров (в отличие от тотальной записи соединительных линий);
• возможность записи внутренних вызовов;
• поддержка записи по логическому идентификатору оператора внутри платформы Контакт-Центре.

Тотальная запись соединительных линий (TrunkSideTotalRecording). Сервер NiceLog подключается к аналоговым соединительным линиям, идущим из сети общего пользования в PABX. Запись CTI данных с помощью NiceCLS возможна.
Преимущества: требуется меньшее число проводов, чем при тотальной записи внутренних номеров.

2. Выборочная запись («SelectiveRecording») используется для:

• записи отдельных вызовов в соответствии с информацией о вызове, поступающей по каналу CTI: например, можно записывать только входящие вызовы; только входящие вызовы только с определенными номерами (АОН); только исходящие вызовы; только исходящие вызовы только на заданные номера и т.д.;
• записи отдельных операторов в соответствии с заданными критериями: например, можно записывать вызовы, поступающие только к конкретным операторам или группам операторов и т.д.

Выборочная запись внутренних номеров (ExtensionSideSelectiveRecording) с подключением по аналоговому каналу.
Преимущества: записываются только вызовы, соответствующие заданным критериям; возможность записи внутренних вызовов; более надежный вариант по сравнению с решением DS1.

Выборочная запись соединительных линий (TrunkSideSelectiveRecording). Данный режим записи возможен, с ограничением для некоторых типов PABX.

Выборочная запись в режиме DS1. Сервер NiceLog подключается к плате потока E1, находящейся в PABX.
Преимущества: записываются только вызовы, соответствующие заданным критериям; возможность записи внутренних вызовов.

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

3. Комбинированная запись («QualityMonitoring: NiceUniverse»). NICE Universe представляет собой специальное решение, которое используется для расширенного контроля качества и производительности. Сервер NiceLog подключается к плате потока Е1, находящейся в PABX.
Преимущества системы записи: предоставляются различные дополнительные возможности, позволяющие супервизорам лучше контролировать качество обслуживанию вызовов, например, предусмотрены автоматический мониторинг в режиме реального времени для немедленного выявления различных критических моментов; встроенный модуль отчетности и т.д.

Читайте также:
Экскурсионная программа италия что это

На нашем сайте вы можете найти большой выбор технического оборудования. Системы записи разговоров NICE в Москве высокого качества и по выгодным ценам. Также вы можете найти решения для сетей передачи данных, оборудование для Wi-Fi сети и другие товары в широком ассортименте.

Телефон:
Комментарий:

Источник: deltat.ru

Использование команд ps, kill и nice для управления процессами в Linux

На сервере Linux, как и на любой другой машине, можно запускать приложения. Компьютер рассматривает их как так называемые «процессы».

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

Данное руководство затрагивает некоторые простейшие аспекты управления процессами. Для этого Linux предоставляет широчайший набор инструментов.

Данные понятия будут рассмотрены на примере сервера Ubuntu 12.04, но любой современный дистрибутив Linux будет работать таким же образом.

Как просматривать запущенные процессы в Linux

top

Самый простой способ узнать, какие процессы запущены на сервере в данный момент, – использовать команду top:

top
top — 15:14:40 up 46 min, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 56 total, 1 running, 55 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1019600k total, 316576k used, 703024k free, 7652k buffers
Swap: 0k total, 0k used, 0k free, 258976k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 24188 2120 1300 S 0.0 0.2 0:00.56 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.07 ksoftirqd/0
6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
7 root RT 0 0 0 0 S 0.0 0.0 0:00.03 watchdog/0
8 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 cpuset
9 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs

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

Можно увидеть, что 1 процесс запущен, а 55 процессов находятся в режиме ожидания (иначе говоря, простаивают, не используя ресурсы процессора).

Нижняя часть полученной информации отображает запущенные процессы и статистику по их использованию.

htop

Усовершенствованная версия команды top под названием htop доступна в хранилищах. Чтобы установить ее, используйте данную команду:

sudo apt-get install htop

Запустив команду htop, можно увидеть более удобное для пользователя отображение информации:

htop
Mem[||||||||||| 49/995MB] Load average: 0.00 0.03 0.05
CPU[ 0.0%] Tasks: 21, 3 thr; 1 running
Swp[ 0/0MB] Uptime: 00:58:11
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
1259 root 20 0 25660 1880 1368 R 0.0 0.2 0:00.06 htop
1 root 20 0 24188 2120 1300 S 0.0 0.2 0:00.56 /sbin/init
311 root 20 0 17224 636 440 S 0.0 0.1 0:00.07 upstart-udev-brid
314 root 20 0 21592 1280 760 S 0.0 0.1 0:00.06 /sbin/udevd —dae
389 messagebu 20 0 23808 688 444 S 0.0 0.1 0:00.01 dbus-daemon —sys
407 syslog 20 0 243M 1404 1080 S 0.0 0.1 0:00.02 rsyslogd -c5
408 syslog 20 0 243M 1404 1080 S 0.0 0.1 0:00.00 rsyslogd -c5
409 syslog 20 0 243M 1404 1080 S 0.0 0.1 0:00.00 rsyslogd -c5
406 syslog 20 0 243M 1404 1080 S 0.0 0.1 0:00.04 rsyslogd -c5
553 root 20 0 15180 400 204 S 0.0 0.0 0:00.01 upstart-socket-br

Как использовать ps для получения списка процессов

Команды top и htop предоставляют удобный интерфейс для просмотра запущенных процессов, аналогичный графическому диспетчеру задач.

Тем не менее, данные инструменты не всегда достаточно гибки, чтобы адекватно охватить все сценарии.

При вызове без аргументов результаты могут быть немного неполными:

ps
PID TTY TIME CMD
1017 pts/0 00:00:00 bash
1262 pts/0 00:00:00 ps

Эти данные отображают все процессы, связанные с текущим пользователем и терминальной сессией. Это имеет смысл, так как в данный момент с терминала запущены только команды bash and ps.

Чтобы получить более полную картину процессов данной системы, можно запустить следующее:

ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.2 24188 2120 ? Ss 14:28 0:00 /sbin/init
root 2 0.0 0.0 0 0 ? S 14:28 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 14:28 0:00 [ksoftirqd/0] root 6 0.0 0.0 0 0 ? S 14:28 0:00 [migration/0] root 7 0.0 0.0 0 0 ? S 14:28 0:00 [watchdog/0] root 8 0.0 0.0 0 0 ? S< 14:28 0:00 [cpuset] root 9 0.0 0.0 0 0 ? S< 14:28 0:00 [khelper] . . .

Эти параметры приказывают ps показать процессы, принадлежащие всем пользователям (вне зависимости от их терминала) в удобном формате.

Чтобы увидеть дерево, отображающее иерархические отношения, можно запустить команду с данными параметрами:

ps axjf
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
0 2 0 0 ? -1 S 0 0:00 [kthreadd] 2 3 0 0 ? -1 S 0 0:00 _ [ksoftirqd/0] 2 6 0 0 ? -1 S 0 0:00 _ [migration/0] 2 7 0 0 ? -1 S 0 0:00 _ [watchdog/0] 2 8 0 0 ? -1 S< 0 0:00 _ [cpuset] 2 9 0 0 ? -1 S< 0 0:00 _ [khelper] 2 10 0 0 ? -1 S 0 0:00 _ [kdevtmpfs] 2 11 0 0 ? -1 S< 0 0:00 _ [netns] . . .

Как можно видеть, процесс kthreadd отображен как порождающий относительно процесса ksoftirqd/0 и других.

Примечание об идентификаторах процессов (PID)

В Linux и Unix-подобных системах каждому процессу присвоен идентификатор (PID). Таким образом операционная система идентифицирует и отслеживает процессы.

Быстрый способ узнать PID процесса – использовать команду pgrep:

pgrep bash
1017

Это запросит идентификатор процесса и вернет его.

Читайте также:
Программа aba для аутистов что это

Первый порожденный при запуске процесс под названием init получает PID «1».

Данный процесс отвечает за порождение всех остальных процессов системы. Чем позже порожден процесс, тем больше будет присвоенный ему PID.

Родительский процесс – это процесс, ответственный за порождение другого процесса. Если порождающий процесс был прекращен, то дочерние процессы также прервутся. PID родительского процесса называется PPID.

PID и PPID можно увидеть в заголовках столбцов во многих приложениях управления процессами, включая top, htop и ps.

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

Как отправлять сигналы процессам в Linux

Все процессы в Linux отвечают на сигналы.

Сигналы – способ завершить или изменить поведение программ на уровне ОС.

Как отправлять процессам сигналы при помощи PID

Наиболее распространенным способом передачи сигналов программам является команда kill.

Как и следовало ожидать, функциональность данной утилиты по умолчанию заключается в попытке завершить процесс:

Это отправит всем процессам сигнал TERM. Данный сигнал приказывает процессу завершиться. Это позволяет программе выполнять операции по очистке и завершить работу без помех.

Если программа неисправна и не завершает работу при отправке сигнала TERM, можно усилить сигнал, передав сигнал KILL:

kill -KILL PID_of_target_process

Данный специальный сигнал отправляется не программе.

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

Каждый сигнал имеет ассоциированный номер, который можно передать вместо имени. К примеру, можно отправить «-15» вместо «-TERM» и «-9» вместо «-KILL».

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

Сигналы используются не только для завершения работы программ. Они также полезны для совершения других действий.

К примеру, многие демоны можно перезапустить при помощи сигнала отбоя HUP. Apache является одной из работающих по такому принципу программ.

sudo kill -HUP pid_of_apache

Вышеприведенная команда заставит Apache перезагрузить конфигурационный файл и возобновить обслуживание контента.

Чтобы просмотреть список всех сигналов, которые можно отправить с kill, наберите:

kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
. . .

Как отправлять сигналы процессам по имени

Хотя отправлять сигналы процессам гораздо удобнее при помощи PID, существуют также методы отправки сигнала с помощью имен процессов.

Команда pkill работает почти также, как kill, но она действует от имени процесса:

Команда, приведенная выше, является эквивалентом:

kill -9 `pgrep ping`

Чтобы послать сигнал каждому экземпляру определенного процесса, используйте команду killall:

Вышеуказанная команда отправит сигнал TERM каждому экземпляру firefox, запущенному на данном компьютере.

Как установить приоритеты процессов

Часто возникает необходимость установить, какие процессы имеют приоритет в серверной среде.

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

Linux контролирует приоритеты с помощью значения под названием niceness.

Задачи с высоким приоритетом имеют низшее значение nice, так как они поглощают ресурсы. С другой стороны, задачи с низким приоритетом имеют высокое значение nice, так как они используют минимальное количество ресурсов.

При запуске команды top в начале статьи был выведен столбец, отмеченный как «NI». В нем указывается значение nice процесса:

top
Tasks: 56 total, 1 running, 55 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1019600k total, 324496k used, 695104k free, 8512k buffers
Swap: 0k total, 0k used, 0k free, 264812k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1635 root 20 0 17300 1200 920 R 0.3 0.1 0:00.01 top
1 root 20 0 24188 2120 1300 S 0.0 0.2 0:00.56 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.11 ksoftirqd/0

В зависимости от системы, значение nice может варьироваться от «-19/-20» (наивысший приоритет) до «19/20» (самый низкий приоритет).

Чтобы запустить программу с определенным значением nice, можно использовать команду nice:

nice -n 15 command_to_execute

Это работает только при запуске новой программы.

Чтобы изменить значение nice программы, которая уже выполняется, нужно использовать инструмент renice:

renice 0 PID_to_prioritize

Примечание: в то время как nice работает с именем команды, renice вызывает PID процесса.

Итоги

Управление процессами – иногда достаточно сложная для новичков тема, так как используемые инструменты отличаются от их графических эквивалентов.

Однако концепции знакомы и интуитивно понятны, и, немного попрактиковавшись, их можно легко освоить. Поскольку процессы участвуют во всем, что касается компьютерной системы, очень важно научиться управлять ими.

Источник: www.8host.com

Программа nice что это

int nice(int inc );

ОПИСАНИЕ

nice добавляет значение аргумента inc к значению приоритета nice вызывающего процесса (большее значение nice означает меньший приоритет). Только суперпользователь может задавать отрицательные значения или определять увеличение приоритета.

ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ

При удачном завершении вызова возвращаемое значение равно нулю. При ошибке оно равно -1, а переменной errno присваивается номер ошибки.

НАЙДЕННЫЕ ОШИБКИ

EPERM Не-суперпользователь пытается увеличить приоритет процесса, передавая отрицательное значение inc .

СООТВЕТСТВИЕ СТАНДАРТАМ

SVr4, SVID EXT, AThttps://www.opennet.ru/man.shtml?topic=nicerussian=0″ target=»_blank»]www.opennet.ru[/mask_link]

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru