Как определить количество физических процессоров под Windows и Linux

При запуске cat /proc/cpuinfo под Linux различная информация отменяется. Например:

 > cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz stepping : 6 cpu MHz : 1995.069 cache size : 4096 KB physical id : 0 siblings : 2 core id : 0 cpu cores : 2 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr lahf_lm bogomips : 3991.76 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz stepping : 6 cpu MHz : 1995.069 cache size : 4096 KB physical id : 3 siblings : 2 core id : 0 cpu cores : 2 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx tm2 cx16 xtpr lahf_lm bogomips : 3989.46 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: 

Во-первых, что все это означает? Я вижу, что у меня есть процессор 0 и процессор 1. Означает ли это, что Linux сообщает оба ядра процессора, или, поскольку это виртуальная машина, две из которых у меня есть прямо сейчас (даже если они находятся на физически разных процессорах )?

Во-вторых, как я могу получить подобный информационный дамп из командной строки в Windows?

В-третьих, есть ли способ использовать любую платформу для определения количества физических процессоров по сравнению с целыми ядрами ЦП?

Чтобы ответить на ваш первый вопрос: http://www.richweb.com/cpu_info подробно описывает весь вывод cpuinfo с некоторой интересной дискуссией после статьи.

В вашем случае сообщается, что ваша виртуальная машина настроена на то, чтобы показать себя ОС в виде виртуальной машины с двумя физическими ядрами. Голый металл под VM может быть 1 ядром или 100 ядрами, но, насколько OS в VM, у вас есть машина с двумя физическими процессорами, с которыми она может играть. Он ничего не знает о том, как потоки, которые он присваивает этим процессорам, фактически запускаются на физическом оборудовании под виртуальной машиной.

Чтобы получить некоторую аналогичную информацию из оболочки Windows CMD, вы можете попробовать команду systeminfo из оболочки CMD. Он отображает намного больше, чем материал /proc/cpuinfo в Linux, но также не так подробно о самих самих процессорах.

Извините, я не знаю ответа на ваш третий вопрос.

Третий вопрос:

В cpuinfo есть поле «физический идентификатор», оно уникально для физического процессора. Ядра того же CPU сообщаются как разные процессоры с одним и тем же физическим идентификатором, в то время как физически отдельные процессоры будут иметь разные физические идентификаторы.

Обратите внимание: если вы находитесь на виртуальной машине, вы не можете ничего знать о реальном оборудовании (CPU и т. Д.), Все, что вы знаете, это то, что говорит вам VM. Например, если ваша физическая машина имеет 1 четырехъядерный процессор, а ваша виртуальная машина настроена на то, чтобы сообщать о двух одноядерных процессорах, вы увидите 2 одноядерных процессора в cpuinfo (то есть 2 процессора с разным физическим идентификатором).

Один лайнер:

 dmidecode | grep CPU | grep -i 'socket designation' | wc -l 

Эта команда анализирует обширную информацию, предоставленную dmidecode, для определения количества физических процессоров на основе уникального значения «назначение сокета», назначенного каждому физическому процессору. Вы можете использовать его для получения ряда физических процессоров на данном хосте. Попытка cat / proc / cpuinfo не всегда работает. На PowerEdge R420 с сервером 2x6C с частотой 2,4 ГГц cpuinfo ошибочно сообщил об одном процессоре.

  • Может ли schroot разрешать перезаписывать файлы конфигурации в домашнем каталоге?
  • Попытка двойной загрузки Windows 8.1 и Debian Jessie
  • Как отключить IPv6 на Debian Wheezy?
  • Измените кодовую страницу по умолчанию с latin1 на utf8 на Linux-машине
  • RHEL 7 / Windows Server 2008 R2 с двойной загрузкой на Proliant
  • Как загрузить файлы Dropbox с помощью команды wget?
  • Безопасно ли использовать miredo-клиент?
  • Ubuntu Netbook Remix на USB?
  • Что такое / usr / bin / [и как его использовать?
  • Есть ли способ ограничить доступ на чтение к страницам в MediaWiki?
  • Как реализовать пространство из раздела Swap в ext4 «нормальный» раздел в Ubuntu?
  • Давайте будем гением компьютера.