Какая информация является правдой о ядрах процессора?
У меня есть вопрос о моем фактическом количестве процессоров на моей машине. Разные методы дают разные результаты...
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"