Найти ядро, используемое из загрузки процессора?

450
user3198603

У меня есть среднее и пиковое использование процессора (в процентах) от сервера Linux со мной. В основном на компьютере развернуто несколько веб-приложений. Исходя из этого, мне нужно решить, какая машина AWS мне подходит. AWS обеспечивает стоимость машины на основе процессорных ядер.

Теперь мне нужно выяснить среднее и пиковое использование ядра по загрузке процессора. Могу ли я вывести загрузку ядра по загрузке процессора по какой-то формуле? Если нет, то как я могу найти среднее и пиковое использование ядра на сервере Linux за определенный период времени?

0
Вы говорите о средних значениях загрузки системы? Как `w` и` uptime` предоставляют? Xen2050 6 лет назад 0
Нет, я говорю об использовании ЦП и ядрах, используемых в течение определенного периода времени на сервере user3198603 6 лет назад 0
Если у вас есть эти необработанные данные, просто усредните значения, чтобы получить среднее значение, и ищите самое высокое значение, чтобы получить пик? Seth 6 лет назад 0
Примечание: цена экземпляра AWS EC2 основана на количестве vCPU, а не на количестве ядер. VCPU - это гипертить, а не физическое ядро. Они не идентичны, хотя, вероятно, достаточно близки для ваших целей. Michael - sqlbot 6 лет назад 0

2 ответа на вопрос

1
harrymc

Места, где вы можете найти основное использование:

  • Команда perf может иметь несколько полезных счетчиков
  • Команда topпри наборе1
  • HTOP утилита обеспечивает визуальную обратную связь
  • Команда mpstat -P ALL 1обеспечивает отображение, которое обновляется каждую секунду. Вы также можете направить вывод в текстовый файл и проанализировать его с помощью некоторой утилиты.
0
Xen2050

Вы можете отслеживать /proc/statи отслеживать средние и максимальные значения. Этот ответ имеет сценарий bash для вашего вдохновения, и ваш man procдолжен быть похож на это:

/proc/stat kernel/system statistics. Varies with architecture. Common entries include:  cpu 3357 0 4313 1362393 The amount of time, measured in units of USER_HZ (1/100ths of a second on most architectures, use sysconf(_SC_CLK_TCK) to obtain the right value), that the system spent in various states:  user (1) Time spent in user mode.  nice (2) Time spent in user mode with low priority (nice).  system (3) Time spent in system mode.  idle (4) Time spent in the idle task. This value should be USER_HZ times the second entry in the /proc/uptime pseudo-file.  iowait (since Linux 2.5.41) (5) Time waiting for I/O to complete.  irq (since Linux 2.6.0-test4) (6) Time servicing interrupts.  softirq (since Linux 2.6.0-test4) (7) Time servicing softirqs.  steal (since Linux 2.6.11) (8) Stolen time, which is the time spent in other operating systems when running in a virtualized envi‐ ronment  guest (since Linux 2.6.24) (9) Time spent running a virtual CPU for guest operat‐ ing systems under the control of the Linux kernel.  guest_nice (since Linux 2.6.33) (10) Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel). 

[Источник: man& Получить загрузку ЦП для каждого ядра в сценарии оболочки ]

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