~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 2FD48DCE9763E802FACE04801DD9DBA6__1699773720 ✰
Заголовок документа оригинал.:
✰ Load (computing) - Wikipedia ✰
Заголовок документа перевод.:
✰ Нагрузка (вычисления) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Load_(computing) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/2f/a6/2fd48dce9763e802face04801dd9dba6.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/2f/a6/2fd48dce9763e802face04801dd9dba6__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 02:58:24 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 12 November 2023, at 10:22 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Нагрузка (вычисления) — Википедия Jump to content

Нагрузка (вычисления)

Из Википедии, бесплатной энциклопедии

htop отображает значительную вычислительную нагрузку (вверху справа: средняя нагрузка: )

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

Расчет нагрузки в стиле Unix [ править ]

Все Unix и Unix-подобные системы генерируют безразмерную метрику из трех чисел «средней нагрузки» в ядре . Пользователи могут легко запросить текущий результат из оболочки Unix , запустив команду uptime команда:

 в долларах время безотказной работы 
    14:34:03 до 10:43, 4 пользователя, средняя нагрузка: 0.06, 0.11, 0.09 

The w и top команды показывают те же три средних значения нагрузки, что и ряд утилит графического пользовательского интерфейса .

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

Linux Для более глубокого изучения такого рода информации в соответствии со стандартом иерархии файловой системы в файле отображается информация, зависящая от архитектуры. /proc/stat. [1] [2] [3]

Неработающий компьютер имеет номер нагрузки 0 (процесс простоя не учитывается). Каждый процесс или ожидающий его , использующий ЦП ( очередь готовности или очередь выполнения ), увеличивает номер загрузки на 1. Каждый завершающийся процесс уменьшает его на 1. Большинство систем UNIX учитывают только процессы, находящиеся в работе ( на ЦП) или в работоспособном состоянии (ожидающие ЦП). ) состояния . Однако в Linux также есть процессы, находящиеся в состояниях непрерывного сна (обычно ожидающих активности диска ), что может привести к совершенно другим результатам, если многие процессы остаются заблокированными при вводе -выводе из-за занятости или зависания системы ввода-вывода. [4] Сюда, например, входит блокировка процессов из-за сбоя сервера NFS или слишком медленного носителя (например, USB накопителей 1.x). Такие обстоятельства могут привести к увеличению средней нагрузки, что не отражает фактического увеличения использования ЦП (но все же дает представление о том, как долго пользователям придется ждать).

нагрузки Системы рассчитывают среднее значение как экспоненциально демпфированное/взвешенное скользящее среднее нагрузки числа . Три значения средней нагрузки относятся к последней, пяти и пятнадцати минутам работы системы. [5]

С математической точки зрения, все три значения всегда усредняют всю загрузку системы с момента ее запуска. Все они затухают экспоненциально, но затухают с разной скоростью : они затухают экспоненциально на e через 1, 5 и 15 минут соответственно. Следовательно, 1-минутная средняя нагрузка состоит из 63% (точнее: 1 - 1/ e ) нагрузки с последней минуты и 37% (1/ e ) от средней нагрузки с момента запуска, исключая последнюю минуту. Для средних значений нагрузки за 5 и 15 минут одинаковое соотношение 63%/37% рассчитывается за 5 и 15 минут соответственно. Таким образом, технически неверно, что среднее значение нагрузки за 1 минуту включает только последние 60 секунд активности, поскольку оно включает 37% активности из прошлого, но правильно утверждать, что оно включает в основном последнюю минуту.

Интерпретация [ править ]

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

Например, можно интерпретировать среднее значение нагрузки «1,73 0,60 7,98» в однопроцессорной системе как:

  • За последнюю минуту система была перегружена в среднем на 73% (1,73 выполняющихся процесса, так что в среднем 0,73 процесса приходилось ждать своей очереди для однопроцессорной системы).
  • В течение последних 5 минут процессор простаивал в среднем 40% времени.
  • За последние 15 минут система была перегружена в среднем на 698% (7,98 выполняющихся процессов, так что в среднем 6,98 процессам приходилось ждать своей очереди для однопроцессорной системы).

Это означает, что данная система (ЦП, диск, память и т. д.) могла бы выполнить всю работу, запланированную на последнюю минуту, если бы она была в 1,73 раза быстрее.

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

В современных UNIX-системах обработка потоков в зависимости от средней нагрузки различается. Некоторые системы рассматривают потоки как процессы для расчета средней нагрузки: каждый поток, ожидающий запуска, добавляет 1 к нагрузке. Однако другие системы, особенно системы, реализующие так называемую многопоточность M:N , используют другие стратегии, такие как подсчет процесса ровно один раз с целью загрузки (независимо от количества потоков) или подсчет только потоков, открытых в данный момент пользователем. планировщик потоков к ядру, что может зависеть от уровня параллелизма, установленного для процесса. Похоже, что Linux считает каждый поток отдельно, добавляя 1 к нагрузке. [6]

Загрузка ЦП и загрузка ЦП [ править ]

Сравнительное исследование различных индексов нагрузки, проведенное Феррари и др. [7] сообщили, что информация о загрузке ЦП, основанная на длине очереди ЦП, гораздо лучше справляется с балансировкой нагрузки по сравнению с загрузкой ЦП. Причина, по которой длина очереди ЦП оказалась лучше, вероятно, заключается в том, что когда хост сильно загружен, его загрузка ЦП, вероятно, будет близка к 100%, и он не может отразить точный уровень загрузки. Напротив, длина очереди ЦП может напрямую отражать величину нагрузки на ЦП. Например, две системы, одна с 3, а другая с 6 процессами в очереди, с большой вероятностью будут иметь загрузку, близкую к 100%, хотя они, очевидно, различаются. [ оригинальное исследование? ]

Расчет загрузки процессора [ править ]

В системах Linux среднее значение нагрузки не рассчитывается для каждого такта, а определяется значением переменной, которая основана на настройке частоты Гц и проверяется на каждом такте. Этот параметр определяет тактовую частоту ядра в герцах (раз в секунду), и по умолчанию он равен 100 для тактов 10 мс. Действия ядра используют это количество тактов для определения времени. В частности, функция timer.c::calc_load(), вычисляющая среднее значение нагрузки, запускается каждый раз. LOAD_FREQ = (5*HZ+1) тиков или примерно каждые пять секунд:

беззнаковый   длинный   avenrun  [  3  ]; 

  static   inline   voidcalc_load   тики  (  без   длинные   знака  ) 
 { 
    unsigned   long   active_tasks  ;    /* фиксированная точка */ 
    static   int   count   =   LOAD_FREQ  ; 

     количество   -=   тиков  ; 
     если   (  счет   <   0  )   { 
       счет   +=   LOAD_FREQ  ; 
        active_tasks   =   count_active_tasks  (); 
        CALC_LOAD  (  avenrun  [  0  ],   EXP_1  ,   active_tasks  ); 
        CALC_LOAD  (  avenrun  [  1  ],   EXP_5  ,   active_tasks  ); 
        CALC_LOAD  (  avenrun  [  2  ],   EXP_15  ,   active_tasks  ); 
     } 
 } 

Массив avenrun содержит 1-минутное, 5-минутное и 15-минутное среднее значение. CALC_LOAD Макрос и связанные с ним значения определены в sched.h:

#define FSHIFT 11  /* количество бит точности */ 
 #define FIXED_1 (1<<FSHIFT)  /* 1,0 как фиксированная точка */ 
 #define LOAD_FREQ (5*HZ+1)  /* интервалы 5 секунд */ 
 #define EXP_1 1884  /* 1/exp(5сек/1мин) как фиксированная точка */ 
 #define EXP_5 2014  /* 1/exp(5сек/5мин) */ 
 #define EXP_15 2037  /* 1/exp(5сек/15мин) */ 

 #define CALC_LOAD(load,exp,n) \ 
 load *= exp;   \ 
 load += n*(FIXED_1-exp);   \ 
 загрузить >>= FSHIFT; 

«Выборочный» расчет средних значений нагрузки является довольно распространенным явлением; FreeBSD также обновляет значение каждые пять секунд. Интервал обычно считается неточным, чтобы не собирать процессы, запуск которых запланирован на определенный момент. [8]

В сообщении в списке рассылки Linux рассматривается +1 тика недостаточно, чтобы избежать артефактов муара из такой коллекции, и вместо этого предлагается интервал в 4,61 секунды. [9] Это изменение распространено среди ядер системы Android , хотя точное используемое выражение предполагает, что HZ равен 100. [10]

Другие команды производительности системы [ править ]

Другие команды для оценки производительности системы включают в себя:

  • uptime – надежность системы и средняя нагрузка
  • top – для общего обзора системы
  • vmstat – vmstat сообщает информацию о запущенных или заблокированных процессах, памяти, подкачке, блочном вводе-выводе, ловушках и процессоре.
  • htop – интерактивный просмотрщик процессов
  • dool (ранее dstat), [11] atop – помогает сопоставить все существующие данные о ресурсах для процессов, памяти, подкачки, блочного ввода-вывода, ловушек и активности ЦП.
  • iftop – интерактивный просмотр сетевого трафика для каждого интерфейса
  • nethogs – интерактивный просмотрщик сетевого трафика для каждого процесса
  • iotop – интерактивный просмотрщик ввода/вывода [12]
  • iostat – для хранения статистики ввода/вывода
  • netstat – для сетевой статистики
  • mpstat – для статистики процессора
  • tload — график средней загрузки терминала
  • xload – график средней нагрузки для X
  • /proc/loadavg – текстовый файл, содержащий среднюю нагрузку

См. также [ править ]

Ссылки [ править ]

  1. ^ «Загрузка процессора» . Проверено 4 октября 2023 г.
  2. ^ "/прок" . Иерархия файловой системы Linux . Проверено 4 октября 2023 г.
  3. ^ «Разная статистика ядра в /proc/stat» . Проверено 4 октября 2023 г.
  4. ^ «Техническая поддержка Linux: что такое средняя загрузка?» . 23 октября 2008 г.
  5. ^ Уокер, Рэй (1 декабря 2006 г.). «Изучение средней нагрузки» . Linux-журнал . Проверено 13 марта 2012 г.
  6. ^ См. http://serverfault.com/a/524818/27813 .
  7. ^ Феррари, Доменико; и Чжоу, Суннянь; « Эмпирическое исследование индексов нагрузки для приложений балансировки нагрузки », Proceedings of Performance '87, 12-й Международный симпозиум по моделированию, измерению и оценке производительности компьютеров, издательство North Holland Publishers, Амстердам, Нидерланды, 1988, стр. 515–528.
  8. ^ «Как рассчитывается средняя нагрузка во FreeBSD?» . Обмен стеками Unix и Linux .
  9. ^ Рипке, Клаус (2011). «Архив Linux-Kernel: LOAD_FREQ (4*HZ+61) позволяет избежать муара загрузки» . lkml.iu.edu . график и патч
  10. ^ «Обновите ядро ​​с загрузкой версии 4.61 · Проблема № 2109 · AOSC-Dev/aosc-os-abbs» . Гитхаб .
  11. ^ Бейкер, Скотт (28 сентября 2022 г.). «dool — совместимый с Python3 клон dstat» . Гитхаб . Проверено 22 ноября 2022 г. ...Даг Вирс прекратил разработку Dstat...
  12. ^ «Iotop(8) — страница руководства Linux» .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 2FD48DCE9763E802FACE04801DD9DBA6__1699773720
URL1:https://en.wikipedia.org/wiki/Load_(computing)
Заголовок, (Title) документа по адресу, URL1:
Load (computing) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)