En Linux, ¿cómo saber cuántos núcleos de la máquina están activos? Supongo que una prueba para esto también funcionaría para Android. Necesito saber si más de un núcleo está activo alguna vez. Me preguntaba si probar esto haciendo que un proceso cree muchos hilos. ¿Es posible que un hilo consulte en qué procesador está? de esa manera se puede saber si alguna vez se usarán múltiples núcleos bajo una carga pesada. No estoy seguro si estoy en el camino correcto.
13
Respuestas:
Puede usar
top
para enumerar la utilización de cada núcleo. Presione 1 si es necesario para dividir la fila de la CPU en una fila separada para cada núcleo.También puede agregar una columna que muestre el núcleo utilizado por última vez para cada proceso. Presione f para abrir la lista de campos, luego j para activar la columna "P". Luego presione la barra espaciadora para volver a la vista en vivo.
fuente
top
lista de hilos por separado. O podría escribir un programa con un bucle infinito y ejecutarlo varias veces.ps
tiene un campo llamadopsr
para indicarle en qué procesador se está ejecutando un trabajo.Entonces podrías usar algo como:
Tenga en cuenta que el simple hecho de ejecutarlo de
ps
esta manera activará al menos un núcleo.Probablemente mejor es ejecutar esto:
de esa manera
sort
ywc
no aumentan el conteo.fuente
ps
estamos activando al menos 1 núcleo. ;-)Este comando funciona bien tanto en ubuntu como en centos y muestra gráficamente cuántas CPU y cómo se utilizan.
para centos:
para ubuntu:
fuente
Intenta lo siguiente:
Aquí hay un enlace a un ejemplo de Android Java.
fuente
/proc/cpuinfo
solo le dice cuántos núcleos tiene el sistema, e incluso tendría que hacer más quecat /proc/cpuinfo
dar cuenta de HyperThreading.Puede usar cat / sys / devices / system / cpu / possible o cat / sys / devices / system / cpu / online. Posible es principalmente en caso de que haya aislado una CPU para ejecutar algún programa en particular.
fuente