Quiero usar/proc para buscar el uso de recursos de un proceso en particular cada segundo. Los recursos incluyen cputime, uso de disco y uso de red. Miré/proc/pid/stat, pero no estoy seguro de si estoy obteniendo los detalles requeridos. Quiero el uso de 3 recursos y quiero monitorearlos cada segundo.Obtener el uso de recursos de proceso de Linux (CPU, disco, red)
Respuesta
No creo que haya una forma de obtener la información de disco y red por proceso.
Lo mejor que puede tener es el disco y la red globales, y el tiempo de CPU por proceso.
Todo documentado en man proc
Puede rastrear cierta información de IO (consulte la utilidad 'iotop' para ver un ejemplo), pero no está disponible en todos los núcleos. – duskwuff
iotop necesita una versión más nueva de kernel. Vi iotop for io y nethog para estadísticas de red, pero necesito recompilar una versión más nueva de kernel para eso. Estaba teniendo eso como último recurso. – sethu
Algunos granos más nuevos tienen /proc/<pid_of_process>/io
archivo. Aquí es donde están las estadísticas de IO. No está documentado en el manual de usuario, pero puede intentar averiguar los números usted mismo.
Espero que ayude. Alex.
Estoy usando centos 5.6 y es un kernel bastante antiguo. ¡No encuentro las estadísticas allí! – sethu
getrusage()
realiza la CPU, la memoria y el disco etc.
man 2 getrusage
No sé acerca de la red.
La mejor manera de abordar los problemas de este tipo es para buscar el código fuente de herramientas que realizan el seguimiento y la presentación de informes similares. Aunque no hay garantía de que estén usando/proc directamente, lo llevarán a una forma eficiente de abordar el problema. Para su caso, vienen a la mente top (1), iotop (8) y nethogs (8).
Puede usar SAR
-x informe de estadísticas para un proceso determinado.
Ver este para más detalles: http://www.linuxcommand.org/man_pages/sar1.html
Ejemplo: sar -u -r -b 1 -X PID | grep -v Promedio | grep -v Linux
Esta técnica requiere un reinicio del sistema y la raíz debe permitir la recopilación de estadísticas en todo el sistema. –
Con la opción '-x' o' -X', solo estoy viendo estadísticas para 'minflt/s majflt/s% usuario% system nswap/s CPU', no estadísticas de disco o red. Por ejemplo, si también especifico '-n DEV' para ver las estadísticas de la red, sar da líneas separadas con encabezados separados. Lo probé en RHEL 5.7. – haridsv
echa un vistazo.
Tiene disco de CPU y red en una sola pantalla. No es por proceso, pero es mejor que mirar 3 herramientas separadas.
- 1. Limitar la memoria de proceso/uso de CPU en Linux
- 2. Linux por proceso límites de recursos - una profunda Red Hat Mystery
- 3. Supervisión de recursos programáticos por proceso en Linux
- 4. Obtener uso de porcentaje de CPU
- 5. ¿Monitorea el uso de la red de un proceso?
- 6. Cómo limitar el uso de la CPU de un proceso
- 7. Cómo recuperar el uso de la CPU por proceso
- 8. Cómo obtener las métricas de uso de CPU de subprocesos en Redhat Linux
- 9. ¿Cómo obtener el uso de la CPU en C?
- 10. ¿Cómo mido el uso de CPU, memoria y disco durante una compilación?
- 11. ¿Cómo controlo la CPU, la memoria y el uso del disco de la computadora en Java?
- 12. Conseguir uso de la CPU de un proceso en C#
- 13. ¿Obtener uso de CPU en script de shell?
- 14. C# programación de red y uso de recursos
- 15. Cómo obtener el uso total de la CPU en Linux (C++)
- 16. Cómo contar el uso de CPU de aplicación multiproceso en Linux
- 17. CPU de tiempo utilizada por el proceso
- 18. Filtrar por nombre de proceso y registrar el uso de CPU
- 19. Configuración del uso máximo de CPU por proceso en Windows
- 20. Nombre del proceso con mayor uso de CPU
- 21. Cómo obtener el uso de CPU en asp.net
- 22. ¿Cuál es el contador de rendimiento correcto para obtener la CPU y el uso de memoria de un proceso?
- 23. Buscar uso de CPU para un subproceso en Linux
- 24. Contador de rendimiento El uso de la CPU para el proceso actual es más de 100
- 25. Java - ¿Cómo puedo monitorear el uso de memoria y CPU de otro proceso?
- 26. Plugin de Firefox Uso de CPU
- 27. ¿Cómo saber el uso de la CPU y la memoria de un proceso con WMI?
- 28. C API para obtener carga de la CPU en Linux
- 29. ¿Cómo obtener estadísticas de uso de CPU en Android?
- 30. Por subproceso Estadísticas de CPU en Linux
Quiero la información de los 3 recursos (cpu, disco y red) – sethu
El/proc/pid/stat me da el tiempo de CPU pero puedo recopilar solo las estadísticas totales de red y disco de toda la máquina y no proceso particular – sethu
No crea que hay una forma de recopilar estadísticas de disco y red por proceso, principalmente por la forma en que el tráfico del disco y la red se realiza a medida que el kernel trabaja. Por ejemplo, la lectura y la escritura en el disco se realizan a través de los búferes del núcleo y, por lo tanto, múltiples procesos pueden acceder al mismo búfer antes de que se vacíe en el disco. Lo mismo ocurre con la lectura, es posible que varios procesos lean el mismo archivo, solo que el primero generará acceso real al disco y el segundo solo obtendrá un puntero al buffer del núcleo. – Soren