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

Вниз

информация о запущенном процессе   Найти похожие ветки 

 
inex   (2007-08-27 12:14) [0]

Добрый день, уважаемые форумчане!
Подскажите, пожалуйста, как можно узнать информацию о любом запущенном процессе. А конкретно, мне нужно знать, объем памяти, занимаемой данным процессом и загрузку ЦПУ.


 
clickmaker ©   (2007-08-27 12:20) [1]

NtQuerySystemInformation()?


 
inex   (2007-08-27 12:24) [2]

clickmaker
Спасибочки, буду пробовать!


 
Игорь Шевченко ©   (2007-08-27 12:26) [3]

http://www.schevchenko.net.ru/SRC/QuerySystemInformation_60.zip
http://www.schevchenko.net.ru/BIN/QuerySystemInformation.zip


 
inex   (2007-08-27 14:08) [4]

Конечно, большое спасибо за информацию, но
я что-то не совсем понял, как же мне все-таки узнать информацию о процессе, используя данную ф-цию:

function NtQuerySystemInformation(
SystemInformationClass:integer;
SystemInformation: pointer;
SystemInformationLength: integer;
var ReturnLength: integer): word;
external "ntdll.dll"

Подскажите пожалуйста на явном примере. Вот есть у меня переменная типа integer. Этой переменной нужно присвоить значение - используемая память процесса, к примеру, programm.exe.


 
Сергей М. ©   (2007-08-27 14:31) [5]


> Этой переменной нужно присвоить значение - используемая
> память процесса,


Ты о какой памяти ?


 
Игорь Шевченко ©   (2007-08-27 14:38) [6]


> Подскажите пожалуйста на явном примере


пост [3]


 
inex   (2007-08-27 14:42) [7]


> Ты о какой памяти ?

о физической - RAM


 
inex   (2007-08-27 14:44) [8]


> пост [3]

Спасибо конечно за примерчик, но, то ли от неполноты знаний, то ли от еще чего-то, но мне как-то сложно разобрать что там и где. Просто там много лишнего, для меня.


 
Сергей М. ©   (2007-08-27 14:50) [9]


> о физической - RAM


Зачем оно может понадобиться, если ОС в любой момент вправе использовать опер.память по своему усмотрению, "выгоняя" из какого-то ее участка один процесс и тут же "вселяя" туда другой ?


 
inex   (2007-08-27 15:02) [10]


> Зачем оно может понадобиться, если ОС в любой момент вправе
> использовать опер.память по своему усмотрению, "выгоняя"
> из какого-то ее участка один процесс и тут же "вселяя" туда
> другой ?

Проблема следующего характера. Есть СУБД, процесс которой "кушает" очень много памяти. И по мере наростания сессий, потребляемая память тоже наростает. Как известно, ОС Windows для одного процесса может выделить максимум 2 Гб памяти и не больше. Поэтому, когда потребляемая память СУБД доходит к данной критичной точке, то она просто напросто виснет.
Я просто хочу написать программку, которая бы висела в системе и мониторила потребляемую память процесса. На какой-то метке она будет перегружать службу БД.


 
Eraser ©   (2007-08-27 15:09) [11]


> inex   (27.08.07 15:02) [10]

поставте СУБД на 64-х разрядную систему да и всех делов. зачем изобрететь велосипеды?


 
Leonid Troyanovsky ©   (2007-08-27 15:11) [12]


> inex   (27.08.07 15:02) [10]

> Я просто хочу написать программку, которая бы висела в системе
> и мониторила потребляемую память процесса.

Все уже украдено до нас: perfmon.exe
Только это, все равно, не наш путь.

--
Regards, LVT.


 
inex   (2007-08-27 15:18) [13]


> поставте СУБД на 64-х разрядную систему да и всех делов.
>  зачем изобрететь велосипеды?

Ну еще есть вариант использовать Unix и др. подобные.
Но такое решение мне не подходит.


 
Сергей М. ©   (2007-08-27 15:21) [14]


> inex   (27.08.07 15:02) [10]


Вот у тебя на борту, к примеру, есть ОЗУ общей емкостью 512к.

Вопрос на засыпку - какой ее объем, "занятый" процессом твоей СУБД, следует считать "критическим" ?


 
inex   (2007-08-27 15:26) [15]


> Вот у тебя на борту, к примеру, есть ОЗУ общей емкостью
> 512к.Вопрос на засыпку - какой ее объем, "занятый" процессом
> твоей СУБД, следует считать "критическим" ?

В таком случае я думаю все 512 Кб :-)
Ну а если серьезно, в моем случае, где-то > 1800000 Кб.


 
Сергей М. ©   (2007-08-27 15:30) [16]


> в моем случае, где-то > 1800000 Кб


Откуда такая цифирь взялась , от балды ?

И откуда для "твоего случая" возьмутся почти 2 Гб ОЗУ, если на борту его всего-то 0.5Гб, из которых в общем случае чуть ли не добрую половину система использует для внутренних нужд ?


 
inex   (2007-08-27 15:44) [17]


> И откуда для "твоего случая" возьмутся почти 2 Гб ОЗУ, если
> на борту его всего-то 0.5Гб, из которых в общем случае чуть
> ли не добрую половину система использует для внутренних
> нужд ?

Не 0.5 Гб, а 4 Гб!
В общем, наверное, придется использовать планировщик задач.
Просто, хотелось автоматизировать  мониторинг процесса, для дальнейшего анализа нагрузки на СУБД.


 
Сергей М. ©   (2007-08-27 15:49) [18]


> Не 0.5 Гб, а 4 Гб


А если бы было 0,5Гб, то каким бы, по-твоему, был "критический объем" ?

imho, у тебя путаница в голове - ты не понимаешь разницы между виртуальной и физической памятью.


 
inex   (2007-08-27 16:03) [19]


> А если бы было 0,5Гб, то каким бы, по-твоему, был "критический
> объем" ?

В таком случае недостающие полтора гига компенсировал бы своп-файл. Но я бы не рисковал подымать такую "массивную" СУБД на сервере с таким к-вом RAM.


> imho, у тебя путаница в голове - ты не понимаешь разницы
> между виртуальной и физической памятью.

Просто есть реальная проблема, с которой я столкнулся, и зная, что выхода нету, кроме как изменения платформу ОС, приходится каким-то образом разделять задачи пользователей и в результате чего раскидывать БД СУБД на разные сервера. В принципе это проблема решаема и уже воплощается в жизнь.

Что-то топик резко перешел от одной проблемы к другой!
См. в начало.


 
Сергей М. ©   (2007-08-27 16:09) [20]

http://www.delphisources.ru/pages/sources/system/2006_year/query_sys_info.html


 
inex   (2007-08-27 16:19) [21]


> http://www.delphisources.ru/pages/sources/system/2006_year/query_sys_info.
> html

Игорь Шевченко ссылку на данный пример давал уже.
Но все равно, спасибо!
Все-таки придется разбираться что да как.


 
Eraser ©   (2007-08-27 16:48) [22]


> inex   (27.08.07 16:19) [21]

можно получить практически ту же функциональность, только через wmi, т.е. документированными возможностями.



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

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

Наверх




Память: 0.52 MB
Время: 0.018 c
15-1205171023
NaRuTo
2008-03-10 20:43
2008.04.27
www.keygen.ru


15-1205208015
Slider007
2008-03-11 07:00
2008.04.27
С днем рождения ! 11 марта 2008 вторник


15-1205653077
pvr
2008-03-16 10:37
2008.04.27
Языковая панель


15-1205015585
Германн
2008-03-09 01:33
2008.04.27
Всё уже украдено, до нас.


15-1205208140
Slider007
2008-03-11 07:02
2008.04.27
С днем рождения ! 10 марта 2008 понедельник