problema con libreria libgtop
Publicado por Alex (2 intervenciones) el 24/04/2006 20:16:46
Hola,
antes de nada muchas gracias por la ayua que pueda recibir. Por favor, si alguien ha utilizado la librería libgtop y puede ayudarme le ruego que lo haga, tengo mi proyecto de fin de carrera casi parado por esto y es muy importante que pueda seguir.
Bueno, lloros a parte, necesito monitorizar los tiempos de cada uno de los procesos ejecutando en mi máquina, es decir:
- tiempo total desde que comenzó cada uno a ejecutar, tiempo real (es decir la parte del tiempo total en la que el proceso dispuso del procesador, el tiempo real sería igual a la suma del tiempo en modo sistema y del tiempo e modo usuario), el fragmento de código que calcula todo esto es 8está dentro de un bucle que lo hace para cada proceso), proc_tab es la lista de procesos y proc_tab[i] sería el PID del proceso actual:
[code]
glibtop_get_proc_time (&proctime, proc_tab [i]);
time_t t1 = 0;
time_t* pt1 = &t1;
time(pt1);
u_int64_t actualTime = (u_int64_t) *pt1;
totalTime = actualTime - proctime.start_time;
userTime = proctime.utime;
systemTime = proctime.stime;
[/code]
El problema es que para algunos procesos, el tiempo real (stime+utime) sale mayor que el tiempo total, cosa que debería ser imposible. Curiosamente, pasa con el mozilla-firefox que parece acumular tiempo desde tiempos inmemoriales, y pasa con procesos que yo arranco manualmente, os adjunto parte de la salida del programa, observad el proceso correspondiente al mozilla-firefos y a los que se llaman "matrices", que son programas de prueba para medir los tiempos que multiplican matrices
[code]
PID name State Total T. Real T. User T. Syst. T
252548 firefox-bin Sleeping 2429 3820 3710 110
13315 gnome-terminal Sleeping 741 1934 1895 39
13316 gnome-pty-helpe Sleeping 740 0 0 0
13317 bash Sleeping 740 15 12 3
13333 eclipse Sleeping 724 0 0 0
13334 java Sleeping 724 1500 1412 88
13449 bash Sleeping 553 5 5 0
13726 matrices Sleeping 4 36 36 0
13728 matrices Sleeping 4 36 36 0
13730 matrices Sleeping 4 40 40 0
13733 pruebaProcesos Running 0 0 0 0
[/code]
Disculpad por poner un post tan largo, pero no me veía capaz de explicarlo bien con menos.
Un saludo y muchísimas gracias.
antes de nada muchas gracias por la ayua que pueda recibir. Por favor, si alguien ha utilizado la librería libgtop y puede ayudarme le ruego que lo haga, tengo mi proyecto de fin de carrera casi parado por esto y es muy importante que pueda seguir.
Bueno, lloros a parte, necesito monitorizar los tiempos de cada uno de los procesos ejecutando en mi máquina, es decir:
- tiempo total desde que comenzó cada uno a ejecutar, tiempo real (es decir la parte del tiempo total en la que el proceso dispuso del procesador, el tiempo real sería igual a la suma del tiempo en modo sistema y del tiempo e modo usuario), el fragmento de código que calcula todo esto es 8está dentro de un bucle que lo hace para cada proceso), proc_tab es la lista de procesos y proc_tab[i] sería el PID del proceso actual:
[code]
glibtop_get_proc_time (&proctime, proc_tab [i]);
time_t t1 = 0;
time_t* pt1 = &t1;
time(pt1);
u_int64_t actualTime = (u_int64_t) *pt1;
totalTime = actualTime - proctime.start_time;
userTime = proctime.utime;
systemTime = proctime.stime;
[/code]
El problema es que para algunos procesos, el tiempo real (stime+utime) sale mayor que el tiempo total, cosa que debería ser imposible. Curiosamente, pasa con el mozilla-firefox que parece acumular tiempo desde tiempos inmemoriales, y pasa con procesos que yo arranco manualmente, os adjunto parte de la salida del programa, observad el proceso correspondiente al mozilla-firefos y a los que se llaman "matrices", que son programas de prueba para medir los tiempos que multiplican matrices
[code]
PID name State Total T. Real T. User T. Syst. T
252548 firefox-bin Sleeping 2429 3820 3710 110
13315 gnome-terminal Sleeping 741 1934 1895 39
13316 gnome-pty-helpe Sleeping 740 0 0 0
13317 bash Sleeping 740 15 12 3
13333 eclipse Sleeping 724 0 0 0
13334 java Sleeping 724 1500 1412 88
13449 bash Sleeping 553 5 5 0
13726 matrices Sleeping 4 36 36 0
13728 matrices Sleeping 4 36 36 0
13730 matrices Sleeping 4 40 40 0
13733 pruebaProcesos Running 0 0 0 0
[/code]
Disculpad por poner un post tan largo, pero no me veía capaz de explicarlo bien con menos.
Un saludo y muchísimas gracias.
Valora esta pregunta


0