Как узнать количество процессоров / ядер в Linux из командной строки? - PullRequest
472 голосов
/ 26 июня 2011

У меня есть этот скрипт, но я не знаю, как получить последний элемент в распечатке:

cat /proc/cpuinfo | awk '/^processor/{print $3}'

Последний элемент должен быть числом процессоров, минус 1.

Ответы [ 25 ]

1 голос
/ 09 апреля 2019

Если вы просто хотите посчитать физические ядра, эта команда сделала это для меня.

lscpu -e | tail -n +2 | tr -s " " | cut -d " " -f 4 | sort | uniq | wc -w

Довольно простой, но, кажется, считает реальные физические ядра, игнорируя логический счет

0 голосов
/ 08 мая 2019

Резюме: чтобы получить физические процессоры сделать это:

grep 'core id' /proc/cpuinfo | sort -u

для получения физических и логических процессоров:

grep -c ^processor /proc/cpuinfo

/proc << это золотой источник любой необходимой вам информации о процессах и </p>

/proc/cpuinfo << - золотой источник любой информации о процессоре. </p>

0 голосов
/ 09 апреля 2019

Используйте запрос ниже, чтобы получить основные детали

[oracle@orahost](TESTDB)$ grep -c ^processor /proc/cpuinfo
8
0 голосов
/ 31 января 2018
 dmidecode  | grep -i cpu | grep Version

дает мне

Версия: Intel (R) Xeon (R) CPU E5-2667 v4 @ 3,20 ГГц

Версия: Intel (R) Xeon (R)) CPU E5-2667 v4 @ 3,20 ГГц

Что является правильным количеством сокетов - поиск E5-2667 говорит мне, что каждый сокет имеет 8 cores, так что умножьте и получите 16 cores поперек 2 sockets.

Где lscpu дайте мне 20 CPUs - что совершенно неверно - не знаю почему.(то же самое относится к cat /proc/cpu - заканчивается 20.

0 голосов
/ 05 октября 2018

Python 3 также предоставляет несколько простых способов получить его:

$ python3 -c "import os; print(os.cpu_count());"

4

$ python3 -c "import multiprocessing; print(multiprocessing.cpu_count())"

4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...