% de CPU individual en la salida 'superior'

10

Por lo general, para ver el porcentaje de CPU individual, presionamos '1' en el modo interactivo de arriba.

Sin embargo, no puedo descifrar la lógica para obtener la misma salida en modo por lotes, es decir,

top -n1b

Estoy redirigiendo esta salida a un archivo para verla más tarde y cosas así, así que necesito el modo por lotes. ¿Es posible? Instalar una herramienta separada para esto no será posible.

Estoy buscando una opción que me falta o alguna forma de capturar la salida.

Uday
fuente

Respuestas:

7

En la parte superior interactiva, cambie a CPU% individual escribiendo 1, luego escriba la configuración actual en un archivo escribiendo W. Esto creará ~/.toprc. Ahora, también top -n1bdará salida por% de CPU. Es posible que deba copiar el .toprcarchivo y cambiar los permisos si su script se ejecuta como un usuario diferente.

jwhitlock
fuente
1
La Q solicita el modo por lotes.
Charles Stewart el
2
Intentaré ser más claro: no sé de ninguna manera en la línea de comando para decirle "cuando esté en modo por lotes, imprima el% de CPU individual". Sin embargo, top lee .toprcen modo por lotes, por lo que puede configurar ese archivo como lo describí, y luego también obtendrá% de CPU individual en modo por lotes. O, al menos, lo hizo para mí (versión 3.2.7 de
procps
tiene que ser top? ¿Por qué no usar psy ordenar% CPU? Encuentro que el% de CPU es engañoso incluso, tiendo a ordenar VSIZE o RSS, porque a menudo lo que derriba mis servidores son cerdos de memoria corruptos.
memnoch_proxy
5

¿Tiene que ser superior? Quizás necesites mpstat

  mpstat -A
Dan Andreatta
fuente
1

Esto es una especie de truco, pero parece funcionar:

$ ssh local.ubuntu.server "(sleep 1;echo 1)|TERM=xterm script -c top & sleep 2;killall script"|grep '^%Cpu'
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.1 st
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu4  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu5  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu6  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu7  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
Laboratorios AX
fuente
0

No sé la forma correcta de hacer esto con los procutils top; tal vez echo k|top -n2 -d1.0hace el truco? Tenga en cuenta que la primera salida de top no le dará información útil sobre el uso de cpu%: top solo intenta estimar el% de cpu desde que comenzó a ejecutarse. De ahí el -n2. Puede restringir a la segunda lista de estadísticas desechando todo hasta la segunda línea en blanco.

Con la parte superior de BSD, top -l2 -s1 -o cpu(probado) imprimirá las estadísticas superiores dos veces, ordene por cpu%. En caso de que haya un BSD al acecho en su sistema ...

Charles Stewart
fuente
0

Puedes usar encima. Es un monitor muy completo, donde puede monitorear procesos y recursos del sistema como la memoria y la CPU. Da salida individual para cada núcleo de CPU.

Para los sistemas ubuntu, está disponible como un paquete en el repositorio, por lo que puede instalarlo directamente a través de apt-get / synaptic.

Para Redhat y sistemas derivados, puede encontrar los paquetes aquí: http://dag.wieers.com/rpm/packages/atop/

s1d
fuente