
The lscpu Команда в Linux – это полезная утилита, которая предоставляет подробную информацию о архитектуре процессора системы. При выполнении она отображает такие данные, как количество процессоров, потоков, ядер и сокетов, а также информацию о производителе, модели, скорости и объеме кэша процессора. Эта команда собирает информацию из различных системных файлов, включая /proc/cpuinfo, и представляет ее в человекочитаемом виде. Это особенно ценно для системных администраторов и разработчиков, которым необходимо оценить или оптимизировать производительность системы в зависимости от базового оборудования.
Но перед этим стоит отметить, что все примеры в этом руководстве были протестированы на Ubuntu 24.04 LTS.
Команда Linux lscpu
Команда lscpu в Linux отображает информацию об архитектуре процессора. Вот синтаксис этого инструмента:
lscpu [-a|-b|-c] [-x] [-s directory] [-e[=list]|-p[=list]] lscpu -h|-V
А вот что о ней говорится на странице man:
lscpu gathers CPU architecture information from sysfs and /proc/cpuinfo. The command output can be optimized for parsing or for easy readability by humans. The information includes, for example, the number of CPUs, threads, cores, sockets, and Non-Uniform Memory Access (NUMA) nodes. There is also information about the CPU caches and cache sharing, family, model, bogoMIPS, byte order, and stepping.
Options that result in an output table have a list argument. Use this argument to customize
the command output. Specify a comma separated list of column labels to limit the output
table to only the specified columns, arranged in the specified order. See COLUMNS for a
list of valid column labels. The column labels are not case sensitive.
Not all columns are supported on all architectures. If an unsupported column is specified,
lscpu prints the column but does not provide any data for it.
Следующие примеры в стиле Q&A должны дать вам лучшее представление о том, как работает этот инструмент.
Q1. Как использовать команду lscpu?
Базовое использование довольно простое – все, что вам нужно сделать, это запустить команду ‘lscpu’ без каких-либо опций.
lscpu
Q2. Как заставить lscpu отображать информацию в человекочитаемом формате?
Специальный параметр командной строки -e – позволяет сделать это.
lscpu -e
Например, вот что выдает команда выше:
При желании можно также ограничить вывод определенными столбцами. Например, следующая команда ограничивает вывод столбцами CPU и NODE.
lscpu -e=cpu,node
Q3. Как можно ограничить вывод только онлайн или оффлайн процессорами?
Команда lscpu позволяет ограничить ее вывод только онлайн или оффлайн процессорами. Это можно сделать с помощью параметра -b и -c параметры командной строки.
lscpu -b
lscpu -c
Обратите внимание, что оба эти параметра командной строки могут быть указаны только вместе с опцией -e или -p.
Q4. Как заставить lscpu отображать вывод в удобном для разбора формате?
Это можно сделать с помощью функции -p опция командной строки.
lscpu -p
Ниже приведен результат, полученный этой командой в моем случае:
Обратите внимание, что, как и в случае с -e , вы также можете ограничить вывод в этом случае, передав аргумент ‘list’.
–parse[=list]
Вот что говорится на странице man об аргументе ‘list’:
If the list argument is omitted, the command output is compatible with earlier versions of lscpu. In this compatible format, two commas are used to separate CPU cache columns. If no CPU caches are identified the cache column is omitted.
If the list argument is used, cache columns are separated with a colon (:). When specifying the
list argument, the string of option, equal sign (=), and list must not contain any blanks or other
whitespace. Examples: ‘-p=cpu,node’ or ‘–parse=cpu,node’.
Q5. Как заставить lscpu использовать шестнадцатеричные маски для наборов процессоров?
По умолчанию lscpu печатает наборы процессоров в формате списка (например, 0,1). Однако вы можете заставить lscpu использовать шестнадцатеричные маски для наборов процессоров, используя команду -x опция командной строки.
lscpu -x