Какая информация является правдой о ядрах процессора?

У меня есть вопрос о моем фактическом количестве процессоров на моей машине. Разные методы дают разные результаты...

htop показывает 4 работающих ядра

lscpu | grep CPU\(s\): показывает 4

cat /proc/cpuinfo | grep processor показывает 4

cat /proc/cpuinfo | grep "cpu cores" | uniq показывает 2

sensors | grep Core показывает 2

Я немного потерян...

РЕДАКТИРОВАТЬ:

cat /proc/cpuinfo | grep 'model name'
model name  : Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz

1 ответ

Решение

Это связано с тем, как сегодня создаются процессоры.

У вас есть 1 аппаратный процессор, который содержит 2 ядра, которые передают свои данные по собственной шине. Каждое ядро ​​имеет 2 так называемых потока, которые могут самостоятельно вычислять, но совместно использовать шину для передачи своих данных. Это многопоточность, и в наши дни она довольно распространена.

Но Linux не показывает этого. Вместо этого каждый поток рассматривается как ядро ​​процессора. Так что если у вас есть шесть или восемь основных серверов, например, htop покажет 12 или 16 одноядерных.

В вашем случае у вас есть процессор с 2 ядрами и 4 потоками.

Посмотрите еще раз на вашу команду (без uniq), она должна показывать эту информацию 4 раза, верно?

cat /proc/cpuinfo | grep "cpu cores"
Другие вопросы по тегам