¿Existe una opción para el comando superior de Linux donde puedo filtrar procesos por nombre y escribir el uso de CPU de ese proceso cada 1 segundo en un archivo de registro?Filtrar por nombre de proceso y registrar el uso de CPU
Respuesta
para filtrar la salida de top
por nombre de proceso, puede utilizar pgrep
para obtener una lista de PID por el nombre del proceso y luego pasar a la opción de -p
top
. Por ejemplo:
top -p $(pgrep -d',' http)
Nota: la opción -d','
delimita los PID con comas, que es lo que se espera por el top -p
. Nota 2: top
devolverá un mensaje de error si no hay procesos en ejecución que coincidan con el nombre que especifique en pgrep
.
Para escribir los resultados de top
en un archivo, use la opción -n 1
(solo una iteración) y redirija la salida a su archivo de registro.
top -p $(pgrep -d',' http) -n 1 >> your_log_file
Para hacer que cada segundo, quizás un bucle while
con un sleep
haría?
while :; do top -p $(pgrep -d',' http) -n 1 >> your_log_file; sleep 1; done
Para cada entrada de marca de tiempo, puede anexar la salida de date
. P.ej.
while :; do top -p $(pgrep -d',' http) -n 1 >> log.txt; date >> log.txt; sleep 1; done
Otra opción es:
top -b -d 1 -p $(pgrep -d',' java) -n 120 > log.txt
- La opción -d permite ajustar la frecuencia utilizada por la parte superior para actualizar los datos .
- La opción -b significa que la interfaz tradicional de la parte superior es no utilizada. En cambio, envía todo a la salida estándar y luego puede usar un conducto (|) o una redirección (>).
- La opción -n informa sobre el número de iteraciones que debe ejecutar la parte superior.
Después de que puede escribir:
cat log.txt | grep USER_OF_PROCESS
verá el tiempo de ejecución del proceso y también% de la CPU, la memoria y todo eso.
#You can run following script as ./cpurecorder.sh pid filename
#It will generate output file with memory usage and cpu utilisation.
#You can log other variable by searching man for ps.
`enter code here`filepath=/home/rtcsadm # modify as desired
interval=20 # reports per minute
timelimit=6000 # how long to run, in seconds
mydate=`date "+%H:%M:%S"` # the timestamp
freq=$((60/$interval)) # for sleep function
while [ "$SECONDS" -le "$timelimit" ] ; do
ps -p$1 -opid -opcpu -opmem -ocomm -c | grep $1 | sed "s/^/$mydate /" >> $filepath/$2.txt
sleep 3
mydate=`date "+%H:%M:%S"`
done
- 1. C++ CPU Registrar uso
- 2. Nombre del proceso con mayor uso de CPU
- 3. Cómo recuperar el uso de la CPU por proceso
- 4. CPU de tiempo utilizada por el proceso
- 5. Uso de la CPU por proceso en Python
- 6. Configuración del uso máximo de CPU por proceso en Windows
- 7. ¿Utiliza PerformanceCounter para rastrear la memoria y el uso de la CPU por proceso?
- 8. Cómo limitar el uso de la CPU de un proceso
- 9. Seguimiento del uso de la CPU y la memoria por proceso
- 10. Limitar la memoria de proceso/uso de CPU en Linux
- 11. Conseguir uso de la CPU de un proceso en C#
- 12. ¿Cómo mido el uso del núcleo de CPU por separado para un proceso?
- 13. Filtrar por proceso/PID en Wireshark
- 14. Mata el proceso por nombre de archivo
- 15. ¿Cómo saber el uso de la CPU y la memoria de un proceso con WMI?
- 16. Java - ¿Cómo puedo monitorear el uso de memoria y CPU de otro proceso?
- 17. Perfil Python Uso de CPU por subproceso
- 18. ASP.Net IIS7 Obtención de uso de CPU por solicitud
- 19. Contador de rendimiento El uso de la CPU para el proceso actual es más de 100
- 20. Django, registrar usuario con nombre y apellido?
- 21. Uso de la CPU en el modo por lotes superior
- 22. ¿Hay alguna forma de averiguar y/o limitar el uso de GPU por proceso en Windows?
- 23. ¿Monitorea el uso de la CPU por hilo en Java?
- 24. Limitar el uso de memoria y CPU de aplicación Java
- 25. Python/PySerial y uso de CPU
- 26. Obtener el uso de recursos de proceso de Linux (CPU, disco, red)
- 27. ¿Se puede limitar el uso de CPU en un objeto de proceso .NET?
- 28. ¿Cuál es el contador de rendimiento correcto para obtener la CPU y el uso de memoria de un proceso?
- 29. ¿Cómo reviso el uso de CPU y memoria en Java?
- 30. Busque un ID de proceso por nombre
Gracias Shawn, cómo registrar la fecha y la hora por cada 1 segundo. De modo que me ayudaría a aislar en qué momento y la cantidad de CPU utilizada por un proceso específico. – BalaB
@bala ver actualizaciones en respuesta. –
Elegante y muy útil. ¡Gracias! –