Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

Кто сколько CPU времени ест.   Найти похожие ветки 

 
Seldon   (2004-02-26 16:11) [0]

Здрасьте.
Как узнать, сколько процессорного времени занимает конкретный процесс? (Тот же Explorer.exe)


 
VMcL ©   (2004-02-26 16:15) [1]

GetProcessTimes()


 
Seldon   (2004-02-26 17:15) [2]

А как интерпретировать её результаты? Мне кажется, нужно использовать lpKernelTime или lpUserTime. Но они вроде как обозначают секунды, а мне нужны проценты.

Возможно я неправильно выразился: мне нужно узнать, на сколько % конкретный процесс загружает CPU.


 
Burmistroff   (2004-02-27 00:16) [3]

%=(разница usertime/кол-во секунд между опросами)*100%


 
VMcL ©   (2004-02-27 11:18) [4]

2 [2]

Кстати, если мне не изменяет склероз, [1] работает в Win2K+.


 
Игорь Шевченко ©   (2004-02-27 11:45) [5]

VMcL ©   (27.02.04 11:18)

Во всех NT-системах.
Included in Windows XP, Windows 2000 Professional, and Windows NT Workstation 3.5 and later.


 
VMcL ©   (2004-02-27 14:43) [6]

Roger that ))


 
Seldon   (2004-02-27 15:47) [7]

А способ узнать в 9x есть?


 
Seldon   (2004-02-29 20:01) [8]

Может я чего неправильно делаю?


var
 Last:Int64;

procedure TForm1.Timer1Timer(Sender: TObject);
var
 H:THandle;
 ID,hP:Cardinal;
 tmp,PT:_FILETIME;
begin
 H:=FindWindow("TForm1","Form1");
 GetWindowThreadProcessId(H,ID);
 hp:=OpenProcess(PROCESS_ALL_ACCESS,false,ID);
 GetProcessTimes(hp,tmp,tmp,tmp,PT);
 Label1.Caption:=FloatToStr((Int64(PT)-Last)/1*100);
 Last:=Int64(PT)
end;


Для теста создал программку с бесконечным циклом. Она загружает на 100%.
Вышеприведённый код для неё даёт 0%. Где ошибка?


 
jack128 ©   (2004-02-29 23:26) [9]


> procedure TForm1.Timer1Timer(Sender: TObject);


> H:=FindWindow("TForm1","Form1");
Что то мне подсказывает, что ты ловишь не окно тестового приложение, а окно текущего(того, которое измеряет загрузку) приложения ;-)



Страницы: 1 вся ветка

Текущий архив: 2004.04.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.055 c
1-1081518493
still_swamp
2004-04-09 17:48
2004.04.25
Как передать в функцию CallBack процедуру?


14-1080983615
Chahpa
2004-04-03 13:13
2004.04.25
Мышь


1-1081246688
Вова
2004-04-06 14:18
2004.04.25
Как убрать колонтитулы при печати из TWebBrowser


6-1077128883
sergeport
2004-02-18 21:28
2004.04.25
как отослать данные формы с ENCTYPE=multipart/form-data


6-1077881008
4ward
2004-02-27 14:23
2004.04.25
работа с TClient/TServerSocket