| Автор
| Сообщение |
 aka57
Я живу тут....

Возраст: 28
Знак зодиака: 
Зарегистрирован: 03.07.2003
Сообщения: 1287
|
|
|
Цитата |
|
Как узнать (программно ) загруженность процессора? |
|
| В начало |
|
 |
|
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
Задачка нетривиальная. Кое-что винда постоянно отмечает в HKEY_DYN_DATA (или как там этот раздел называется) - но это лажа, и применять ее нужно в Win9x, где других способов просто нет.
Есть такая недокументированная функция - NtQuerySystemInformation. С ее помощью можно получить для каждого процесса отработанное им время (и, собственно, список процессов тоже). Делаем там: замеряем время работы каждого процесса, суммируем. Через небольшой промежуток времени снова замеряем и суммируем. Вычитаем первую сумму из второй - получаем число миллисекунд процессорного времени, которое пожрали процессы (каламбурчик-с) за этот промежуток. Делим на длину промежутка - получаем загрузку в процентах. _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 13-ый
Администратор

Возраст: 36
Знак зодиака: 
Зарегистрирован: 28.04.2002
Сообщения: 3551
Откуда: Москва
|
|
|
Цитата |
|
to DrPass
написал бы примерчик с комментариями - получилась бы целая статья - стал бы... да и вообще - тебе уже пора книгу писать и издавать - премудрости программирования на дельфи
Имхо - прибыльное дело. Запиши меня на 2ый экз (1-ый автору) с автографом  _________________
http://fotki.yandex.ru/users/vladimir13
С уважением, 13-ый  |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
Ну вот такую фишку я набросал на скорую руку. Даже не пришлось использовать список процессов (его я для красоты оставил)
Вернее, я сначала считал по времени процессов, но почему-то тогда на пару-тройку процентов возникало несоответствие с показаниями оригинального Task Manager. Ну а так, как сейчас - все тип-топ _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
P.S. Ну а статью могет быть и напишу - времени-то сейчас имеется  _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 Ugrum
Бичара Сахалинский

Возраст: 49
Знак зодиака: 
Зарегистрирован: 15.07.2002
Сообщения: 872
Откуда: Холмск
|
|
|
Цитата |
|
А аткудава время вдруг появилось? _________________ ЛЕНЬ - двигатель прогресу ! |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
Дык отпуск  _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 13-ый
Администратор

Возраст: 36
Знак зодиака: 
Зарегистрирован: 28.04.2002
Сообщения: 3551
Откуда: Москва
|
|
|
Цитата |
|
чет у меня глючит....
win2000 sp4
exe оригинальный...
зы: эт может у меня система глючит - 2й день не могу поставить ms sql server 2000 - в конце инсталяции грит что dll кернел32 ... произвела недопустимое перемещение в памяти  _________________
http://fotki.yandex.ru/users/vladimir13
С уважением, 13-ый  |
|
| В начало |
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
А, это просто у кое-кого дохрена процессов и их потоков. Увеличь размер выделяемого буфера, тогда все будет нормально _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
|
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
P.S. Только MS SQL там еще не хватало...  _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 13-ый
Администратор

Возраст: 36
Знак зодиака: 
Зарегистрирован: 28.04.2002
Сообщения: 3551
Откуда: Москва
|
|
| В начало |
|
 |
|