Как узнать количество физических ядер с учетом HyperThreading с помощью AWK

awk -F: '/^core id/ && !P[$2] { CORES++; P[$2]=1 }; /^physical id/ && !N[$2] { CPUs++; N[$2]=1 }; END { print CPUs*CORES }' /proc/cpuinfo


Данная команда использует утилиту AWK для обработки содержимого файла /proc/cpuinfo и подсчета количества физических ядер с учетом HyperThreading. Команда ищет строки, начинающиеся с «core id» и «physical id», и сохраняет уникальные значения в массивах P и N соответственно. Затем команда подсчитывает количество элементов в массивах и выводит произведение двух значений, что равно количеству физических ядер с учетом HyperThreading.

Альтернативой может быть использование других утилит, таких как grep, sed или perl, для обработки содержимого файла /proc/cpuinfo и выполнения аналогичных операций. Аргументы команды -F: указывают разделитель полей в AWK (двоеточие), чтобы разделить каждую строку на поля для дальнейшей обработки.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *