¿Puedo ver las estadísticas del sistema en la Terminal?

34

El widget iStat Pro permite monitorear diferentes estadísticas del sistema como

  • uso de CPU
  • ancho de banda de red de entrada / salida
  • uso de memoria
  • ...

¿Cómo puedo ver las estadísticas del sistema en la Terminal?

ingrese la descripción de la imagen aquí

Gentmatt
fuente

Respuestas:

56

Dependiendo de lo que quiera ver, hay varias opciones en el nivel de Terminal:

  • top: muestra procesos en ejecución, uso de memoria y estadísticas similares
  • iostat: muestra las estadísticas veraniegas de E / S por terminal, dispositivo y SPU
  • vm_stat: muestra las estadísticas de la memoria virtual de Mach
  • dfe diskutil list: informe sobre el espacio de disco utilizado y gratuito
  • fs_usage: muestra la actividad del archivo para el disco y la red
  • nettop: muestra información actualizada sobre la red (un poco como top para la E / S neta)
  • w: muestra quién ha iniciado sesión, qué están haciendo y carga del sistema
  • ifconfigy ipconfig: interfaz de red y detalles del protocolo IP

La mayoría de estos comandos tienen una gran lista de opciones, probablemente sea mejor consultar las páginas del manual para obtener más detalles.

Por lo general, confío en top -u -s 10identificar procesos que acaparan CPU y fs_usage -f filesys/ fs_usage -f networkpara identificar procesos que generan mucha carga de disco / red.

nohillside
fuente
@ JMY1000 LOL, en realidad me gusta la idea de un proceso que abraza la CPU :-) Gracias por la edición.
nohillside
@patrix Ah, el buen abrazo de la muerte.
JMY1000
6

El iStats ruby ​​gem le permite ver la temperatura de la CPU a través de la línea de comandos.

Instalación

$ gem install iStats

Uso

$ istats

Captura de pantalla

Chris911
fuente
4

Puedes usar top. Mostrará el uso de CPU y RAM junto con todos los procesos. También le mostrará los paquetes de entrada / salida de la red y los datos de los discos leídos / escritos

Uko
fuente
2
Y con man topusted puede ver cómo personalizar la salida.
Rene Larsen
3

Los anteriores son excelentes comandos. Además, me gusta usar

$ du -ks *

Para mostrar cuánto espacio en disco están usando todas las carpetas debajo de mi directorio actual.

Este comando enumera los 10 directorios principales en orden de tamaño:

$ du -sh * | sort -nr | head -10

Para una herramienta de estadísticas generales del sistema, me gustan las miradas de Python mejor que la superior:

https://nicolargo.github.io/glances/

Así es como puede instalarlo en Debian / Ubuntu:

$ sudo apt-get install glances

Así es como puede instalarlo en CentOS / Red Hat:

# yum  install glances
usuario8128167
fuente
1

Si tiene problemas de red, especialmente con un servidor expuesto a Internet, lsof (1) puede ser extremadamente útil. Enumera todos los archivos abiertos.

Por ejemplo, lsof | fgrep '/Library/WebServer/le mostrará todos los archivos que están abiertos en su servidor web. He estado usando esto mucho para encontrar y prohibir "sanguijuelas" y "bots" que están reduciendo mi ancho de banda al succionar automáticamente archivo tras archivo.

Jan Steinman
fuente
1

Mi forma preferida de ver el uso de la CPU con un solo comando que regresa instantáneamente es

ps -axro pcpu | awk '{sum+=$1} END {print sum}'

-ax: todos los procesos, incluidos los procesos no terminales y los que no son de su propiedad.

-r: ordenar por uso de CPU

-o pcpu: solo genera el campo% cpu. % cpu es un promedio de 1 minuto del proceso, pero solo promediará durante la vida útil del proceso si su vida útil es <1 min.

awk: suma la primera columna en cada línea e imprime la suma al final.

Esta es una métrica de CPU por núcleo, por lo que en una CPU de 12 núcleos puede obtener hasta 1200; no tienes un límite de 100.

jeremysprofile
fuente
0

Aquí hay dos comandos para determinar su IP local y pública:

IP local

ipconfig getifaddr en1

Esto es cuando se usa Wi-Fi. Para uso en ethernet en0.

IP pública

curl whatismyip.org
Gentmatt
fuente
1
En el MacBook Airs actual (que no tiene un puerto ethernet), el código del dispositivo Wi-Fi es en0. Puedes averiguar de qué se trata networksetup -listallhardwareports | grep -E '(Wi-Fi|AirPort)' -A 1 | grep -o "en.".
Lri