Búsqueda de sitios web

Cómo guardar la salida del comando superior en un archivo


El comando top de Linux es muy utilizado por los administradores de sistemas para mostrar estadísticas del sistema en tiempo real sobre el tiempo de actividad del sistema y el promedio de carga, memoria utilizada, tareas en ejecución, un resumen de procesos o subprocesos e información detallada sobre cada proceso en ejecución.

Sin embargo, además de la visualización en tiempo real del sistema en ejecución, la salida del comando top se puede guardar en un archivo usando el indicador -b, que indica a top que opere en modo por lotes y -n indicador para especificar la cantidad de iteración que debe generar el comando.

En el siguiente ejemplo, redireccionaremos la salida del comando superior al archivo top.txt en el directorio de trabajo actual. El argumento -n se utilizará para enviar solo una instantánea del comando al archivo mencionado.

top -b -n 1 > top.txt

Para leer el archivo resultante, utilice una utilidad de lectura de archivos de línea de comandos, como el comando cat, less o more.

less top.txt

Para obtener cinco iteraciones del comando superior, ejecute el comando como se muestra en el siguiente extracto.

top -b -n 5 > top-5iterations.txt

Para mostrar solo la cantidad de tareas en ejecución del archivo resultante, use el filtro grep, como se muestra en el siguiente ejemplo de comando.

cat top-5iterations.txt | grep Tasks

Para tomar una instantánea de un proceso específico en la utilidad superior, ejecute el comando con el indicador PID (-p). Para obtener el PID de un proceso en ejecución, ejecute el comando pidof con el nombre del proceso en ejecución.

En este ejemplo, monitorearemos el proceso cron mediante el comando superior tomando tres instantáneas del PID.

pidof crond
top -p 678 -b -n3 > cron.txt
cat cron.txt

Usando un bucle de iteración for, podemos mostrar las estadísticas de un proceso a través de su PID, cada dos segundos, como se muestra en el siguiente ejemplo. La salida del bucle también se puede redirigir a un archivo. Usaremos el mismo PID cron como se muestra en el ejemplo anterior.

for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done	

Redirigir la salida del bucle al archivo.

for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done >> cron.txt
cat cron.txt

Estos son sólo algunos ejemplos de cómo puede monitorear y recopilar estadísticas del sistema y del proceso mediante el comando superior.