¿Cuáles son los comandos UNIX estándar más útiles para monitorear o diagnosticar problemas del sistema y la red?

El primer paso suele ser:

  • dmesg : vea lo que hay en el registro del sistema.

Para diagnosticar problemas del sistema (según los síntomas):

  • arriba : vea lo que están haciendo su CPU, memoria y recursos de intercambio.
  • htop : una versión de top más fácil de leer, que representa gráficamente la CPU y la utilización de la memoria.
  • iotop : vea qué están haciendo sus discos y si hay problemas de E / S.
  • df : compruebe si alguno de sus sistemas de archivos está lleno (esta puede ser la causa principal de muchos problemas diferentes y, a menudo, es lo primero que reviso).
  • ps – ¿Algo extraño en ejecución, bifurcación de demasiados procesos, etc.?
  • strace : vea qué llamadas al sistema realiza un proceso en ejecución (el comando truss lo hace en Solaris).

Para diagnosticar problemas de red:

  • ping : cuando tenga dudas, vea si puede hacer ping.
  • netstat : vea lo que está escuchando, lo que está conectado, etc.
  • tcpdump : captura los paquetes para ver qué sucede (el comando snoop hace esto en Solaris).
  • ethtool : obtenga mucha información sobre las interfaces físicas.
  • iptables : ¿tiene una regla de firewall en el camino?

Hay tantos otros, probablemente no puedo contarlos a todos. Pero estos son los más comunes que uso cuando necesito investigar un problema.