No es necesario que catantes awk, de todas formas: simplemente awk '<script>' /proc/cpuinfo, al igual que: awk '/^processor/{n+=1}END{print n}' /proc/cpuinfo. Y entras sin "menos uno".
Tomasz Gandor
Para responder la pregunta directamente, canalice aquello a lo tail -n 1que toma la última línea y la imprime.
Tenga en cuenta que ambos terminarán contando el doble de núcleos que realmente existen si está en un sistema con hyperthreading (por ejemplo, P4 o Core i7).
duskwuff -inactive-
24
@duskwuff: que es precisamente lo que quieres en la mayoría de los casos.
Frank Kusters
8
grep -c '^processor' /proc/cpuinfoen zsh.
Steven Lu
40
cat /proc/cpuinfo | awk '/^processor/{print $3}' | tail -1también devolverá el número incorrecto si los números de CPU están basados en 0.
Phazor
3
La primera línea devuelve 1 núcleo menos que el existente. Mejor cat / proc / cpuinfo | awk '/ ^ procesador / {print $ 3}' | wc -l
Mirko Ebert
650
Procesar los contenidos de /proc/cpuinfoes innecesariamente barroco. Utilice nproc, que forma parte de coreutils, por lo que debería estar disponible en la mayoría de las instalaciones de Linux.
Command nprocimprime la cantidad de unidades de procesamiento disponibles para el proceso actual, que puede ser menor que la cantidad de procesadores en línea.
Para encontrar el número de todos los núcleos / procesadores instalados, use nproc --all
En mi viejo ubuntu (10.10), nproc no está disponible. Debe ser una adición nueva.
bukzor
3
Desafortunadamente, nprocno es parte de boot2docker
kgadek
269
La solución más portátil que he encontrado es el getconfcomando:
getconf _NPROCESSORS_ONLN
Esto funciona tanto en Linux como en Mac OS X. Otro beneficio de esto sobre algunos de los otros enfoques es que getconf ha existido durante mucho tiempo. Algunas de las máquinas Linux más antiguas en las que tengo que hacer desarrollo no tienen los comandos nproco lscpudisponibles, pero los tienen getconf.
Nota del editor: Si bien la getconfutilidad es un mandato POSIX , los valores específicos _NPROCESSORS_ONLNy no lo son. Dicho esto, como se dijo, funcionan en plataformas Linux y en macOS; en FreeBSD / PC-BSD, debe omitir el líder ._NPROCESSORS_CONF_
Esto funcionó para mí en Red Hat Entreprise Linux 5.4, Centos 6.5 y 7 y Mac OSX 10.9 (Mavericks). Parece que este es el más portátil, ya que lscpu no está instalado de forma predeterminada en estos sistemas. ¡Gracias!
@BCran No pude encontrar _NPROCESSORS_ONLNen POSIX. ¿Puedes vincularlo?
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
3
@CiroSantilli 六四 事件 法轮功 纳米比亚 威 视 De github.com/gstrauss/plasma/blob/master/plasma_sysconf.c parece que estaba equivocado: es solo opcional. "sysconf _SC_NPROCESSORS_ONLN y _SC_NPROCESSORS_CONF no son requeridos por los estándares, pero se proporcionan en numerosas plataformas Unix y están documentados como opcionales por Open Group".
BCran
100
Prefacio:
El problema con las /proc/cpuinforespuestas basadas es que analizan la información destinada al consumo humano y, por lo tanto, carece de un formato estable diseñado para el análisis de la máquina : el formato de salida puede diferir entre plataformas y condiciones de tiempo de ejecución; el uso lscpu -pen Linux (y sysctlen macOS) evita ese problema .
getconf _NPROCESSORS_ONLN/ getconf NPROCESSORS_ONLNno distingue entre CPU lógicas y físicas .
Aquí hay un shfragmento (compatible con POSIX) que funciona en Linux y macOS para determinar el número de CPU físicas o lógicas en línea ; ver los comentarios para más detalles.
Usos lscpupara Linux y sysctlpara macOS.
Nota de terminología : CPU se refiere a la unidad de procesamiento más pequeña vista por el sistema operativo. Los núcleos sin hiperprocesamiento corresponden a 1 CPU, mientras que los núcleos con hiperprocesamiento contienen más de 1 (normalmente: 2) - lógica - CPU.
Linux usa la siguiente taxonomía [1] , comenzando con la unidad más pequeña: CPU < núcleo < socket < libro < nodo
con cada nivel que comprende 1 o más instancias del siguiente nivel inferior.
#!/bin/sh# macOS: Use `sysctl -n hw.*cpu_max`, which returns the values of # interest directly.# CAVEAT: Using the "_max" key suffixes means that the *maximum*# available number of CPUs is reported, whereas the# current power-management mode could make *fewer* CPUs # available; dropping the "_max" suffix would report the# number of *currently* available ones; see [1] below.## Linux: Parse output from `lscpu -p`, where each output line represents# a distinct (logical) CPU.# Note: Newer versions of `lscpu` support more flexible output# formats, but we stick with the parseable legacy format # generated by `-p` to support older distros, too.# `-p` reports *online* CPUs only - i.e., on hot-pluggable # systems, currently disabled (offline) CPUs are NOT# reported.# Number of LOGICAL CPUs (includes those reported by hyper-threading cores)# Linux: Simply count the number of (non-comment) output lines from `lscpu -p`, # which tells us the number of *logical* CPUs.
logicalCpuCount=$([ $(uname)='Darwin']&&
sysctl -n hw.logicalcpu_max ||
lscpu -p | egrep -v '^#'| wc -l)# Number of PHYSICAL CPUs (cores).# Linux: The 2nd column contains the core ID, with each core ID having 1 or# - in the case of hyperthreading - more logical CPUs.# Counting the *unique* cores across lines tells us the# number of *physical* CPUs (cores).
physicalCpuCount=$([ $(uname)='Darwin']&&
sysctl -n hw.physicalcpu_max ||
lscpu -p | egrep -v '^#'| sort -u -t,-k 2,4| wc -l)# Print the values.
cat <<EOF
# of logical CPUs: $logicalCpuCount# of physical CPUS: $physicalCpuCount
EOF
Tenga en cuenta que los sistemas derivados de BSD que no sean macOS, por ejemplo, FreeBSD, solo admiten la hw.ncpuclave sysctl, que están en desuso en macOS; Estoy claro de cuál de las nuevas claves hw.npucorresponde a: hw.(logical|physical)cpu_[max].
Punta del sombrero a @teambob para ayudar a corregir el lscpucomando físico-CPU-count .
Advertencia : la lscpu -psalida NO incluye una columna de "libro" (la manpágina menciona "libros" como una entidad entre el socket y el nodo en la jerarquía taxonómica). Si hay "libros" en juego en un sistema Linux dado ( ¿alguien sabe cuándo y cómo? ), El comando físico-CPU-count puede estar bajo- informe (esto se basa en la suposición de que lscpuinforma ID que no son únicos en los niveles superiores) entidades de nivel ; por ejemplo: 2 núcleos diferentes de 2 zócalos diferentes podrían tener la misma ID).
Si guarda el código anterior como, por ejemplo, script de shellcpus , lo hace ejecutable chmod +x cpusy lo coloca en la carpeta en su $PATH, verá resultados como los siguientes:
$ cpus
logical 4
physical 4
[1] Xaekai arroja luz sobre lo que es un libro : "un libro es un módulo que aloja una placa de circuito con zócalos de CPU, zócalos de RAM, conexiones de E / S a lo largo del borde y un gancho para la integración del sistema de refrigeración. Se utilizan en los mainframes de IBM Más información: http://ewh.ieee.org/soc/cpmt/presentations/cpmt0810a.pdf "
Sí, lo siento, tienes razón sobre el comando de clasificación. No puedo encontrar ninguna información sobre libros más allá del manual lscpu. Creo que está relacionado con NUMA en.wikipedia.org/wiki/Non-uniform_memory_access
teambob
2
Creo que la mayoría de las soluciones aquí ignoran las máquinas multi-socket, a diferencia de esta. ¡Gracias!
dividebyzero
1
En términos de Linux, hay muchos contextos donde lscpu no está disponible, como las imágenes del instalador. Me gusta ... desearía que fuera omnipresente.
Brian Chrisman, el
43
lscpu reúne el formulario de información de arquitectura de CPU / proc / cpuinfon en formato de lectura humana:
# lscpuArchitecture: x86_64
CPU op-mode(s):32-bit,64-bit
ByteOrder:LittleEndian
CPU(s):8On-line CPU(s) list:0-7Thread(s) per core:1Core(s) per socket:4
CPU socket(s):2
NUMA node(s):1Vendor ID:GenuineIntel
CPU family:6Model:15Stepping:7
CPU MHz:1866.669BogoMIPS:3732.83Virtualization: VT-x
L1d cache:32K
L1i cache:32K
L2 cache:4096K
NUMA node0 CPU(s):0-7
¿es "^ core id" para el total de núcleos físicos o solo p-cores en un procesador?
Richard
1
Hay una línea de identificación de núcleo por núcleo físico único en el sistema. Sin embargo, no sé si los números volverán a comenzar en cero para un segundo procesador físico ...
lunixbochs
1
si tiene más de un procesador físico, también deberá buscar "identificación física".
Anne
La primera línea no me funcionó. Esto funciona para mi. cat /proc/cpuinfo | awk '/^processor/{print $3}'| wc -ly muestra el número correcto.
jaylweb
11
Para el número total de núcleos físicos:
grep '^core id'/proc/cpuinfo |sort -u|wc -l
En máquinas con múltiples sockets (o siempre), multiplique el resultado anterior por el número de sockets:
El uso de getconf es de hecho la forma más portátil, sin embargo, la variable tiene diferentes nombres en BSD y Linux para getconf, por lo que debe probar ambos, como sugiere esta esencia:
https://gist.github.com/jj1bdx/5746298
(también incluye una solución de Solaris usando ksh)
En cuanto a nproc, es parte de GNU Coreutils, por lo que no está disponible en BSD por defecto. Utiliza sysconf () también después de algunos otros métodos.
En el mío, esto devuelve el número de hyperthreads. También necesitaría saber la cantidad de núcleos físicos y la cantidad de enchufes.
user2465201
OK: exactamente el mismo comando con hw.physicalcpu produce el recuento de núcleos. Todavía no estoy seguro sobre el recuento de socket ... También hay un recuento de CPU "lógico" y "activo", pero no estoy seguro de lo que eso significa.
user2465201
Actualización rápida: esto no parece tan portátil. Lo probé en un cuadro de Linux, y parece que solo lee los directorios / proc, que son diferentes para el sistema Linux que para Mac; por ejemplo, no hay un subdirectorio hw. Dicho esto, todavía puedes analizar / proc / cpuinfo
Cuente la cantidad de CPU lógicas únicas que utiliza el kernel de Linux. La -popción genera resultados para un análisis fácil y es compatible con versiones anteriores de lscpu.
Para determinar la cantidad de unidades de procesamiento disponibles (no necesariamente la misma que la cantidad de núcleos). Esto es consciente de hyperthreading.
nproc
No quiero ir demasiado lejos por la madriguera del conejo, pero también puede determinar la cantidad de procesadores configurados (a diferencia de los procesadores simplemente disponibles / en línea) a través de getconf _NPROCESSORS_CONF. Para determinar el número total de CPU (fuera de línea y en línea) de las que desea analizar la salida lscpu -ap.
Esta es la respuesta correcta si desea núcleos físicos.
Dinesh
3
También pensé cat /proc/cpuinfoque me daría la respuesta correcta, sin embargo, recientemente vi que mi sistema ARM de cuatro núcleos Cortex A53 solo mostraba un solo núcleo. Parece que / proc / cpuinfo solo muestra los núcleos activos, mientras que:
cat /sys/devices/system/cpu/present
es una mejor medida de lo que hay allí. Tú también puedes
cat /sys/devices/system/cpu/online
para ver qué núcleos están en línea, y
cat /sys/devices/system/cpu/offline
para ver qué núcleos están fuera de línea. Los online, offliney presentSYSFS entradas devuelven el índice de la CPU, así que un valor de retorno de 0sólo significa núcleo 0, mientras que un valor de retorno de1-3 medios núcleos de 1,2, y 3.
-1, esto regresa 0en un solo núcleo con un Opteron 4170 HE, pero regresa 4en una caja de ocho núcleos con un Opteron 3280. ... ¡una parte de mí realmente desea que esta frase funcione!
+1, más largo que la solución con "lscpu -p = Core, Socket" pero funciona directamente analizando / proc / cpuinfo, sin necesidad de lscpu.
Fravadona
1
Cuente la "identificación del núcleo" por método de "identificación física" utilizando awk con el recuento del "procesador" si la "identificación del núcleo" no está disponible (como frambuesa)
echo $(awk '{ if ($0~/^physical id/) { p=$NF }; if ($0~/^core id/) { cores[p$NF]=p$NF }; if ($0~/processor/) { cpu++ } } END { for (key in cores) { n++ } } END { if (n) {print n} else {print cpu} }'/proc/cpuinfo)
Esto funcionó bien. Cuando probé la primera respuesta, obtuve 3 CPU como salida. Sé que tengo 4 CPU en el sistema, así que acabo de hacer un grepprocesador y la salida se ve así:
Versión: Intel (R) Xeon (R) CPU E5-2667 v4 @ 3.20GHz
Versión: Intel (R) Xeon (R) CPU E5-2667 v4 @ 3.20GHz
Cuál es el recuento correcto de zócalos: al buscar E5-2667me dice que cada zócalo tiene 8 cores, así que multiplique y termine16 cores cruzado 2 sockets.
Dónde lscpudarme 20 CPUs, que es totalmente incorrecto, no estoy seguro de por qué. (lo mismo vale para cat /proc/cpu- termina con 20.
cat
antesawk
, de todas formas: simplementeawk '<script>' /proc/cpuinfo
, al igual que:awk '/^processor/{n+=1}END{print n}' /proc/cpuinfo
. Y entras sin "menos uno".tail -n 1
que toma la última línea y la imprime.Respuestas:
contará el número de líneas que comienzan con "procesador" en
/proc/cpuinfo
Para sistemas con hiperprocesamiento, puede usar
que debería regresar (por ejemplo)
8
(mientras que el comando anterior volvería16
)fuente
grep -c '^processor' /proc/cpuinfo
en zsh.cat /proc/cpuinfo | awk '/^processor/{print $3}' | tail -1
también devolverá el número incorrecto si los números de CPU están basados en 0.Procesar los contenidos de
/proc/cpuinfo
es innecesariamente barroco. Utilice nproc, que forma parte de coreutils, por lo que debería estar disponible en la mayoría de las instalaciones de Linux.Command
nproc
imprime la cantidad de unidades de procesamiento disponibles para el proceso actual, que puede ser menor que la cantidad de procesadores en línea.Para encontrar el número de todos los núcleos / procesadores instalados, use
nproc --all
En mi máquina de 8 núcleos:
fuente
nproc
no es parte de boot2dockerLa solución más portátil que he encontrado es el
getconf
comando:Esto funciona tanto en Linux como en Mac OS X. Otro beneficio de esto sobre algunos de los otros enfoques es que getconf ha existido durante mucho tiempo. Algunas de las máquinas Linux más antiguas en las que tengo que hacer desarrollo no tienen los comandos
nproc
olscpu
disponibles, pero los tienengetconf
.Nota del editor: Si bien la
getconf
utilidad es un mandato POSIX , los valores específicos_NPROCESSORS_ONLN
y no lo son. Dicho esto, como se dijo, funcionan en plataformas Linux y en macOS; en FreeBSD / PC-BSD, debe omitir el líder ._NPROCESSORS_CONF
_
fuente
_NPROCESSORS_ONLN
en POSIX. ¿Puedes vincularlo?Prefacio:
El problema con las
/proc/cpuinfo
respuestas basadas es que analizan la información destinada al consumo humano y, por lo tanto, carece de un formato estable diseñado para el análisis de la máquina : el formato de salida puede diferir entre plataformas y condiciones de tiempo de ejecución; el usolscpu -p
en Linux (ysysctl
en macOS) evita ese problema .getconf _NPROCESSORS_ONLN
/getconf NPROCESSORS_ONLN
no distingue entre CPU lógicas y físicas .Aquí hay un
sh
fragmento (compatible con POSIX) que funciona en Linux y macOS para determinar el número de CPU físicas o lógicas en línea ; ver los comentarios para más detalles.Usos
lscpu
para Linux ysysctl
para macOS.Nota de terminología : CPU se refiere a la unidad de procesamiento más pequeña vista por el sistema operativo. Los núcleos sin hiperprocesamiento corresponden a 1 CPU, mientras que los núcleos con hiperprocesamiento contienen más de 1 (normalmente: 2) - lógica - CPU.
Linux usa la siguiente taxonomía [1] , comenzando con la unidad más pequeña:
CPU < núcleo < socket < libro < nodo
con cada nivel que comprende 1 o más instancias del siguiente nivel inferior.
[1] documentación de macOS
sysctl (3)
Tenga en cuenta que los sistemas derivados de BSD que no sean macOS, por ejemplo, FreeBSD, solo admiten la
hw.ncpu
clavesysctl
, que están en desuso en macOS; Estoy claro de cuál de las nuevas claveshw.npu
corresponde a:hw.(logical|physical)cpu_[max]
.Punta del sombrero a @teambob para ayudar a corregir el
lscpu
comando físico-CPU-count .Advertencia : la
lscpu -p
salida NO incluye una columna de "libro" (laman
página menciona "libros" como una entidad entre el socket y el nodo en la jerarquía taxonómica). Si hay "libros" en juego en un sistema Linux dado ( ¿alguien sabe cuándo y cómo? ), El comando físico-CPU-count puede estar bajo- informe (esto se basa en la suposición de quelscpu
informa ID que no son únicos en los niveles superiores) entidades de nivel ; por ejemplo: 2 núcleos diferentes de 2 zócalos diferentes podrían tener la misma ID).Si guarda el código anterior como, por ejemplo, script de shell
cpus
, lo hace ejecutablechmod +x cpus
y lo coloca en la carpeta en su$PATH
, verá resultados como los siguientes:[1] Xaekai arroja luz sobre lo que es un libro : "un libro es un módulo que aloja una placa de circuito con zócalos de CPU, zócalos de RAM, conexiones de E / S a lo largo del borde y un gancho para la integración del sistema de refrigeración. Se utilizan en los mainframes de IBM Más información: http://ewh.ieee.org/soc/cpmt/presentations/cpmt0810a.pdf "
fuente
lscpu
reúne el formulario de información de arquitectura de CPU / proc / cpuinfon en formato de lectura humana:Consulte también /unix/468766/understanding-output-of-lscpu .
fuente
Esto funcionó para mí.
tail -nX
le permite tomar solo las últimas X líneas.Si tiene hyperthreading, esto debería funcionar para obtener el número de núcleos físicos .
fuente
cat /proc/cpuinfo | awk '/^processor/{print $3}'| wc -l
y muestra el número correcto.Para el número total de núcleos físicos:
En máquinas con múltiples sockets (o siempre), multiplique el resultado anterior por el número de sockets:
@ mklement0 tiene una buena respuesta a continuación usando lscpu. He escrito una versión más sucinta en los comentarios.
fuente
¡También puedes usar Python! Para obtener la cantidad de núcleos físicos:
Para obtener el número de núcleos hiperprocesados:
fuente
Solución de plataforma cruzada para Linux, MacOS, Windows:
fuente
Esta es la forma en que uso para contar la cantidad de núcleos físicos que están en línea en Linux:
o en resumen:
Ejemplo (1 zócalo):
Ejemplo (2 enchufes):
Ejemplo (4 enchufes):
fuente
El uso de getconf es de hecho la forma más portátil, sin embargo, la variable tiene diferentes nombres en BSD y Linux para getconf, por lo que debe probar ambos, como sugiere esta esencia: https://gist.github.com/jj1bdx/5746298 (también incluye una solución de Solaris usando ksh)
Yo personalmente uso:
Y si desea esto en Python, puede usar el syscall getconf utiliza importando el módulo os:
En cuanto a
nproc
, es parte de GNU Coreutils, por lo que no está disponible en BSD por defecto. Utiliza sysconf () también después de algunos otros métodos.fuente
Si desea hacer esto para que funcione en Linux y OS X, puede hacer lo siguiente:
fuente
Es muy simple. Solo usa este comando:
fuente
CPU(s):
.Puede usar uno de los siguientes métodos para determinar la cantidad de núcleos físicos de CPU.
Cuente la cantidad de identificadores principales únicos (aproximadamente equivalentes a
grep -P '^core id\t' /proc/cpuinfo | sort -u | wc -l
).awk '/^core id\t/ {cores[$NF]++} END {print length(cores)}' /proc/cpuinfo
Multiplique el número de 'núcleos por socket' por el número de sockets.
lscpu | awk '/^Core\(s\) per socket:/ {cores=$NF}; /^Socket\(s\):/ {sockets=$NF}; END{print cores*sockets}'
Cuente la cantidad de CPU lógicas únicas que utiliza el kernel de Linux. La
-p
opción genera resultados para un análisis fácil y es compatible con versiones anteriores delscpu
.lscpu -p | awk -F, '$0 !~ /^#/ {cores[$1]++} END {print length(cores)}'
Solo para reiterar lo que otros han dicho, hay una serie de propiedades relacionadas.
Para determinar la cantidad de procesadores disponibles:
Para determinar la cantidad de unidades de procesamiento disponibles (no necesariamente la misma que la cantidad de núcleos). Esto es consciente de hyperthreading.
No quiero ir demasiado lejos por la madriguera del conejo, pero también puede determinar la cantidad de procesadores configurados (a diferencia de los procesadores simplemente disponibles / en línea) a través de
getconf _NPROCESSORS_CONF
. Para determinar el número total de CPU (fuera de línea y en línea) de las que desea analizar la salidalscpu -ap
.fuente
También pensé
cat /proc/cpuinfo
que me daría la respuesta correcta, sin embargo, recientemente vi que mi sistema ARM de cuatro núcleos Cortex A53 solo mostraba un solo núcleo. Parece que / proc / cpuinfo solo muestra los núcleos activos, mientras que:cat /sys/devices/system/cpu/present
es una mejor medida de lo que hay allí. Tú también puedes
cat /sys/devices/system/cpu/online
para ver qué núcleos están en línea, y
cat /sys/devices/system/cpu/offline
para ver qué núcleos están fuera de línea. Los
online
,offline
ypresent
SYSFS entradas devuelven el índice de la CPU, así que un valor de retorno de0
sólo significa núcleo 0, mientras que un valor de retorno de1-3
medios núcleos de 1,2, y 3.Ver https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-devices-system-cpu
fuente
Lo siguiente debería proporcionarle el número de núcleos "reales" en un sistema con y sin subproceso. Al menos funcionó en todas mis pruebas.
fuente
0
en un solo núcleo con un Opteron 4170 HE, pero regresa4
en una caja de ocho núcleos con un Opteron 3280. ... ¡una parte de mí realmente desea que esta frase funcione!No es mi página web, pero este comando de http://www.ixbrian.com/blog/?p=64&cm_mc_uid=89402252817914508279022&cm_mc_sid_50200000=1450827902 me funciona muy bien en centos. Mostrará cpus real incluso cuando hyperthreading esté habilitado.
cat /proc/cpuinfo | egrep "core id|physical id" | tr -d "\n" | sed s/physical/\\nphysical/g | grep -v ^$ | sort | uniq | wc -l
fuente
Cuente la "identificación del núcleo" por método de "identificación física" utilizando awk con el recuento del "procesador" si la "identificación del núcleo" no está disponible (como frambuesa)
fuente
Esto funcionó bien. Cuando probé la primera respuesta, obtuve 3 CPU como salida. Sé que tengo 4 CPU en el sistema, así que acabo de hacer un
grep
procesador y la salida se ve así:fuente
me da
Cuál es el recuento correcto de zócalos: al buscar
E5-2667
me dice que cada zócalo tiene8 cores
, así que multiplique y termine16 cores
cruzado2 sockets
.Dónde
lscpu
darme20 CPUs
, que es totalmente incorrecto, no estoy seguro de por qué. (lo mismo vale paracat /proc/cpu
- termina con20
.fuente
Más rápido, sin tenedor.
Este trabajo con casi todos cáscara.
Para seguir siendo compatible con cáscara, guión, busyboxy otros, que he usado
ncore=$((ncore+1))
en lugar de((ncore++))
.golpetazo versión
fuente
Si está bien que pueda usar Python, entonces el
numexpr
módulo tiene una función para esto:también esto:
Para consultar esta información desde el símbolo del sistema, use:
O simplemente es posible obtener esta información de la
multiprocessing.cpu_count()
funciónO incluso más, simplemente use
os.cpu_count()
fuente
cpu_count
es incorrecto, no devuelve el número de núcleos, sino simplemente el número de hyperthreads en las CPU IntelSi solo quieres contar núcleos físicos, este comando lo hizo por mí.
Bastante básico, pero parece contar núcleos físicos reales, ignorando el recuento lógico
fuente
Python 3 también proporciona algunas formas simples de obtenerlo:
4 4
4 4
fuente
Use la consulta a continuación para obtener detalles básicos
fuente
Resumen: para obtener CPU físicas, haga esto:
para obtener CPU físicas y lógicas haga esto:
/proc
<< esta es la fuente de oro de cualquier información que necesite sobre procesos y/proc/cpuinfo
<< es la fuente de oro de cualquier información de CPU.fuente