Мониторинг использования ЦП на каждое ядро в Linux имеет решающее значение для понимания производительности системы и оптимизации распределения ресурсов. В этой статье мы рассмотрим несколько методов получения данных об использовании ЦП на каждое ядро, а также приведем примеры кода, которые помогут вам получить представление об использовании ЦП вашей системы.
Метод 1: использование команды top
Команда top в Linux предоставляет в режиме реального времени информацию о системных процессах, включая использование ЦП. Чтобы отобразить использование ЦП на каждое ядро, выполните следующую команду:
top -d 1 -n 1 | grep -i "Cpu(s)"
Метод 2: использование команды mpstat
Команда mpstat является частью пакета sysstat и предоставляет подробную статистику использования ЦП. Чтобы просмотреть использование ЦП на каждое ядро, используйте следующую команду:
mpstat -P ALL
Метод 3: анализ файла /proc/stat
Файл /proc/stat содержит системную статистику, включая сведения об использовании ЦП. Чтобы извлечь из этого файла информацию об использовании ЦП на каждое ядро, вы можете использовать следующий фрагмент кода Python:
import re
cpu_stats = {}
with open('/proc/stat', 'r') as file:
for line in file:
if line.startswith('cpu'):
data = line.split()
cpu = data[0]
stats = [int(x) for x in data[1:]]
cpu_stats[cpu] = stats
for cpu, stats in cpu_stats.items():
total_time = sum(stats)
idle_time = stats[3]
usage = 100 - (idle_time * 100.0 / total_time)
print(f"CPU {cpu} Usage: {usage}%")
Метод 4: использование команды sar
Команда sar — еще один мощный инструмент для мониторинга системы. Чтобы получить данные об использовании ЦП на ядро, выполните следующую команду:
sar -P ALL
Метод 5. Использование библиотеки psutil
Библиотека psutil — это кроссплатформенная утилита для получения системной информации. Чтобы узнать загрузку ЦП на ядро, вы можете использовать следующий код Python:
import psutil
cpu_percent = psutil.cpu_percent(interval=1, percpu=True)
for i, usage in enumerate(cpu_percent):
print(f"CPU {i} Usage: {usage}%")
В этой статье мы рассмотрели несколько методов мониторинга использования ЦП на каждое ядро в Linux. Используя такие команды, как top, mpstat, sar, и анализируя системные файлы, такие как /proc/stat, мы можем собрать ценную информацию о том, как используется каждое ядро ЦП. Кроме того, мы продемонстрировали, как можно использовать библиотеку psutil для удобного выполнения той же задачи. Понимая использование ЦП на каждое ядро, вы можете оптимизировать распределение ресурсов и более эффективно выявлять узкие места в производительности.