viernes, abril 19, 2024
No menu items!
InicioBlogsCómo usar el comando de tiempo de Linux: todo lo que necesita...

Cómo usar el comando de tiempo de Linux: todo lo que necesita saber

Ya sea que sea un administrador de sistemas o un usuario de un servidor privado virtual (VPS), aprender varios comandos de Linux lo ayudará a ejecutar tareas de manera más eficiente.

En este tutorial, aprenderá sobre el comando de tiempo de Linux: qué es, su propósito y cómo usarlo.

¿Qué es el comando de tiempo de Linux?

El comando de tiempo en los sistemas operativos Linux y similares a Unix le permite determinar cuánto tiempo llevará ejecutar un comando específico. Por lo general, se usa para medir el rendimiento de scripts o comandos. Cuanto más rápido termine un comando su tarea, mejor será su rendimiento.

Además, el comando de tiempo también puede mostrar el uso de recursos del sistema del proceso, lo que lo convierte en una herramienta útil para revisar la eficiencia de un comando específico.

Por ejemplo, desea elegir entre dos trabajos cron que pueden ejecutar la misma tarea. Puede determinar cuánto tiempo llevará cada trabajo cron para completar las tareas ejecutando el comando de tiempo.

Sin embargo, antes de comenzar a hablar sobre cómo usar el comando de tiempo de Linux, tenga en cuenta que difiere según el shell que use. Hay tres versiones diferentes del comando time en el sistema Linux:

Intento – ya está integrado en el shell y se puede ejecutar escribiendo hora.Zsh – como Bash, también está integrado en el sistema, se ejecuta escribiendo hora.Linux predeterminado de GNU (GNU) – disponible escribiendo la ruta explícita al comando, usuario/bin/hora.

Para verificar qué versión del comando de tiempo de Linux se aplica a su sistema, ingrese lo siguiente en su programa de shell:

$ type time

Si obtienes la salida el tiempo es una palabra clave de shell, está utilizando el comando Bash time. Si obtiene el resultado el tiempo es una palabra reservada, está utilizando el comando de tiempo Zsh. Si obtiene el resultado el tiempo es usr/bin/tiempo, está utilizando el comando de tiempo de GNU.

🔥 Leer:  ¿La captura de pantalla no funciona en iPhone y iPad? 5 consejos para solucionarlo

Alternativamente, puede simplificar el comando de tiempo de GNU en Linux creando un comando de alias para usr/bin/time.

Usando el comando de tiempo en Linux

En esta sección, aprenderá la sintaxis del comando de tiempo de Linux y cómo leer su salida.

Conociendo la sintaxis del comando de tiempo de Linux

Usar el comando de tiempo es muy simple: todo lo que tiene que hacer es abrir su programa de shell e ingresar:

$ time (command)

Para aprovechar al máximo el comando de tiempo, debe comprender su sintaxis:

$ time (command) [arg1] [arg2] ... [argN]
time [options] (command) [arg1] [arg2] ... [argN]

Hora ejecuta lo dado mando con cualquier argumento dado (argumento). Una vez que el comando finaliza su tarea, el tiempo genera información que incluye la duración que tomó ejecutar el comando y los recursos utilizados por él.

Si el comando del programa sale con un estado distinto de cero que indica una falla, el tiempo generará un mensaje de advertencia y el estado de salida.

Al ingresar el formato de cadena utilizado por el comando, puede determinar qué información mostrar en la sección de uso de recursos del sistema.

Si el usuario no especifica ningún formato, pero se establece la variable de entorno de tiempo, su valor se utilizará como formato. De lo contrario, se utilizará el formato predeterminado integrado en el tiempo.

Opciones son especificadores de recursos que cambian la salida del tiempo. Deben comparecer ante el mando. Cualquier cosa ingresada después del comando se considerará como un argumento.

Para ver todas las opciones que puede usar para el tiempo, ingrese lo siguiente en la línea de comando:

$ man time

Verá una lista de opciones que puede usar para modificar la salida del comando de tiempo de Linux. Sin embargo, tenga en cuenta que estas opciones pueden variar según el sistema operativo específico y la versión que esté utilizando.

Comencemos con un primer ejemplo simple. Para saber cuánto tiempo se tarda en ejecutar el comando ls utilizado para mostrar el contenido de un directorio elegido, ingrese lo siguiente en el shell:

$ time ls
Salida del comando ls.

Verá el resultado del comando ls y el tiempo que tomó completarlo.

🔥 Leer:  Kindle Paperwhite lento: cómo hacerlo más rápido [2023]

Ahora, intentemos incorporar un argumento. En este ejemplo, intentaremos averiguar cuánto tiempo llevará mover un archivo a un directorio diferente:

$ time mv example.txt example-dir
Salida que muestra cuánto tiempo llevó mover un archivo a un directorio diferente.

Como resultado, el ejemplo.txt el archivo ha sido movido a ejemplo-dir, y verá el tiempo necesario para completar el proceso.

Comprender la salida

Para comprender completamente los beneficios del comando de tiempo de Linux, debe saber cómo leer su salida.

Lectura de la salida en la terminal

La salida predeterminada del comando de tiempo incorporado contiene la siguiente información:

En tiempo real (real). El tiempo real que tarda el proceso en ejecutarse de principio a fin. Esto incluye el tiempo que toman otros procesos y el tiempo que pasan esperando que se completen.Tiempo de usuario (usuario). La cantidad de tiempo de CPU invertido en modo de usuario durante el proceso. No se incluyen otros procesos y tiempo bloqueado.Hora del sistema (sys). El tiempo total de CPU empleado en modo kernel durante el proceso. Al igual que el tiempo del usuario, no se cuentan otros procesos ni el tiempo bloqueado por otros procesos.

Aquí hay un ejemplo. Si ingresamos el siguiente comando en la línea de comando, el sistema descargará el instalador para el programa de máquina virtual de código abierto VirtualBox:

$ time wget https://download.virtualbox.org/virtualbox/6.1.28/virtualbox-6.1_6.1.28-147628~Ubuntu~eoan_amd64.deb
Descargando Virtual Box.

Una vez completada la descarga, verá tres cifras: verdadero, usuario, y sistema. Como puede ver, muestran el tiempo transcurrido en los modos real, de usuario y de sistema durante la descarga en minutos y segundos.

Escribir la salida en un archivo

A veces, es posible que desee guardar la información que recibió utilizando el tiempo. Afortunadamente, existe una opción de formato que le permite escribir la salida del comando en un archivo.

Si utiliza el comando de tiempo de GNU, el -o La opción le permitirá hacer exactamente eso: creará un nuevo archivo de salida que contiene información sobre el otro comando.

Por ejemplo, ingrese el siguiente comando para guardar la información de ping de hostinger.com y detalles sobre su proceso en un nuevo archivo:

$ time -o hostinger-ping-info.log ping hostinger.com

Tenga en cuenta que si usa el shell Bash y desea usar -o o cualquier otra opción, deberá invocar el comando de tiempo externo utilizando la ruta explícita usuario/bin/hora en lugar de solo hora.

$ usr/bin/time -o hostinger-ping-info.log ping hostinger.com

Para comprobar el contenido de hostinger-ping-info.log, utilizar el gato mando:

$ cat hostinger-ping-info.log

Obtener resultados detallados en un archivo

🔥 Leer:  Cómo detectar y generar una captura de pantalla de la aplicación Fake Cash

Es posible que la salida del comando de tiempo predeterminado no incluya todos los detalles que desea conocer sobre un proceso en particular. Para mostrar una salida detallada, agregue la opción -v al comando de tiempo en Linux.

Por ejemplo, si desea encontrar el ping o el tiempo de respuesta de hostinger.com y ver información detallada sobre el proceso, ingrese el siguiente comando:

$ time -v ping hostinger.com

Si no usa el comando de tiempo GNU o ha encontrado un flujo de error estándar, intente activar el comando de tiempo externo ingresando la ruta completa usuario/bin/hora en lugar de:

$ usr/bin/time -v ping hostinger.com

Alternativamente, los usuarios pueden personalizar los tipos de información que les gustaría ver en la salida al ingresar el comando de tiempo usando estas opciones de formato de salida:

% Un ‘%’ literal.
C Nombre y argumentos de línea de comando del comando que se está cronometrando.
D El tamaño promedio d del área de datos no compartidos del proceso, en kilobytes.
mi El tiempo real transcurrido (reloj de pared) utilizado por el proceso, en (horas:)minutos:segundos.
F El número de fallas de página importantes o que requieren E/S que ocurrieron mientras se ejecutaba el proceso. Estos son errores en los que la página ha migrado fuera de la memoria principal.
I El i número de entradas del sistema de archivos por el proceso.
k El uso de memoria total promedio del proceso en kilobytes.
METRO El tamaño máximo del conjunto residente del proceso durante su vida útil, en kilobytes.
O El número de salidas del sistema de archivos por el proceso.
PAGS Porcentaje de la CPU que obtuvo este trabajo. Estos son solo los tiempos del usuario y del sistema divididos por el tiempo total de ejecución. También imprime un signo de porcentaje.
R El número de fallos de página menores o recuperables. Son páginas que no son válidas pero que aún no han sido reclamadas por otras páginas virtuales. Por lo tanto, los datos de la página siguen siendo correctos, pero las tablas del sistema deben actualizarse.
S El número total de segundos de CPU utilizados por el sistema en nombre del proceso (en modo kernel) en segundos.
tu Número total de segundos de CPU que el proceso usó directamente (en modo de usuario) en segundos.
W El número de veces que el proceso se intercambió fuera de la memoria principal.
X La cantidad promedio de texto compartido en el proceso en kilobytes.
Z El tamaño de página del sistema z, en bytes. Como constante por sistema, puede variar entre sistemas.
C El número de veces que el proceso cambió de contexto de forma involuntaria (porque expiró el intervalo de tiempo).
mi Tiempo real transcurrido (reloj de pared) utilizado por el proceso, en segundos.
k El número de señales enviadas al proceso.
pags Tamaño promedio de pila no compartida del proceso, en kilobytes.
r El número de mensajes de socket recibidos por el proceso.
s El número de mensajes de socket enviados por el proceso.
t Tamaño medio del conjunto residente del proceso, en kilobytes.
w Número de veces que el programa cambió de contexto voluntariamente, por ejemplo, mientras esperaba que se completara una operación de E/S.
X El estado de salida del comando.

Por ejemplo, si desea mostrar la cantidad de mensajes de socket recibidos por el comando, ingrese lo siguiente en el shell:

$ /usr/bin/time -f "Socket Messages Received: %r" command

Alternativamente, si usa el shell Bash, es posible que prefiera el TIMEFORMAT del comando de tiempo incorporado. TIMEFORMAT utiliza una cadena de formato particular para permitir a los usuarios especificar cómo se debe mostrar la información de tiempo.

Aquí hay una lista de los valores del parámetro TIMEFORMAT:

%% Un % literal.
%[p][l]R El tiempo transcurrido en segundos.
%[p][l]tu La cantidad de segundos de CPU que el proceso pasó en modo de usuario.
%[p][l]S El número de segundos de CPU que el proceso pasó en modo de sistema.
%PAGS El porcentaje de CPU, calculado como (%U + %S) / %R.

Conclusión

El comando de tiempo en Linux es una excelente herramienta para verificar el tiempo de ejecución y el rendimiento general de un proceso en particular. En esta guía, ha aprendido el comando de tiempo de Linux, su propósito, sintaxis y salida.

Esperamos que esta guía le haya ayudado a aprender a navegar por el sistema Linux de manera más eficiente.

Recomendamos

Populares