Tengo diferentes máquinas con OSX 10.12 y 10.13, que usan diferentes procesadores. Estoy tratando de obtener desde la terminal, una cadena que me muestre qué instrucciones de CPU son compatibles con esa máquina; para que pueda usar el software apropiado (algunos de los programas requieren instrucciones específicas para estar presentes en la CPU, y si esa CPU no las admite, el software funcionará incorrectamente o fallará).
Verifiqué la consulta del perfilador del sistema a través de la terminal, pero solo puedo obtener el tipo y modelo de CPU, no el conjunto de instrucciones de CPU que admite; y si hiciera esto a mano, obteniendo cada modelo de CPU y verificando en línea, tomaría horas.
Ingresar
sysctl -a | grep cpu.feat
obtener una lista como
machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX EST TM2 SSSE3 CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC POPCNT AES PCID XSAVE OSXSAVE TSCTMR AVX1.0
machdep.cpu.feature_bits: 2286390173542120447
Alternativamente (evitar el grep y ser mucho más rápido, lo que podría ayudarlo a ejecutar esto a menudo dentro de un script)
sysctl machdep.cpu.features
sysctl machdep.cpu.features machdep.cpu.feature_bits
le da solo la lista (o ambas) directamente.
O simplemente usa: sysctl machdep.cpu
para obtenerlos todos
Solo para extender la respuesta de LangLangC , por alguna razón, AVX2 no aparece en la machdep.cpu.features
lista sino en una lista separada: machdep.cpu.leaf7_features
. Para verificar todas las banderas compatibles, puede usar:
/usr/sbin/sysctl -n machdep.cpu.features machdep.cpu.leaf7_features
Dando como resultado una salida como
FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C
RDWRFSGS TSC_THREAD_OFFSET SGX BMI1 HLE AVX2 SMEP BMI2 ERMS INVPCID RTM FPU_CSDS MPX RDSEED ADX SMAP CLFSOPT IPT MDCLEAR TSXFA IBRS STIBP L1DF SSBD
sysctl machdep.cpu
conseguirlos todos.
redoble del tambor
bmike
redoble del tambor