Ctrl + Alt + F6 для доступа к контейнеру linux?

Средняя загрузка обычно рассчитывается ядром. Такие приложения, как top и uptime , могут использовать библиотечный вызов getloadavg (3) для доступа к нему (он предназначен для переносимости между различными версиями Unix). В Linux это обычно приводит к чтению из / proc / loadavg . В FreeBSD это системный вызов.

Например:

#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>

int main()
{
  double ld[3];

  int i=getloadavg(ld,3);
  printf("Load %.2f %.2f %.2f\n",ld[0],ld[1],ld[2]);
}

uptime и top оба делают одинаковые вызовы для получения своих данных.

Теперь средняя загрузка за 1/5/15 минут - это количество процессов в очереди выполнения.Различные операционные системы могут вычислять это по-разному; Самая большая разница обычно заключается в том, считаются ли процессы, ожидающие ввода-вывода (например, заблокированные на диске) работоспособными, или нет. В Linux они есть.

Таким образом, средняя загрузка 3,4 означает, что в очереди выполнения в пределах окна выборки (1, 5, 15 минут) было в среднем 3,4 процесса.

Однако высокая средняя загрузка не обязательно означает перегруженный сервер. Если у вас 16 ядер, то средняя загрузка может быть 16 без стресса. У вас также может быть много вызовов приложения fork () , которые могут привести к созданию / уничтожению большого количества процессов, что приведет к высокой средней нагрузке, но без значительного влияния на производительность сервера. Его следует использовать только в качестве ориентира вместе с другими показателями, такими как% загрузки ЦП.

3
05.07.2016, 23:07
0 ответов

Теги

Похожие вопросы