Вниз
Скачать: CL | DM;

SetProcessWorkingSetSize и своппинг   Найти похожие ветки 

 
Clickmaker ©   (2004-06-04 11:42) [0]

Не могу понять поведение сервера: дельфовый DCOM-сервер, работает с БД MS SQL. Все бы ничего, но вот обратил я внимание, что уж очень много у него ошибок страниц (видно в таск манагере), даже при нескольких часах работы переваливает за лимон. При этом памяти он расходует немного, даже при количестве клиентов около 40 - всего 25 М обычной и около 20 виртуальной. Пик не вылезает за пределы 50 М. Ладно, попробовал явно указать ему при запуске SetProcessWorkingSetSize(GetCurrentProcess, 200 * 1048576, 200 * 1048576), то бишь фиксированный размер 200 метров. Думал, это уменьшит попадания мимо страниц и соответственно своппинг. Функция вернула true, но эффекта никакого. Я понимаю, что как пишут в msdn "Using the SetProcessWorkingSetSize function to set an application"s minimum and maximum working set sizes does not guarantee that the requested memory will be reserved...", но хотелось бы понять, в чем причина игнорирования виндой этих установок. Или я чего-то не понял...


 
Игорь Шевченко ©   (2004-06-04 12:05) [1]


> хотелось бы понять, в чем причина игнорирования виндой этих
> установок


Наверное в том, что есть еще процессы, которым тоже требуется память.


 
Clickmaker ©   (2004-06-04 12:10) [2]


> Игорь Шевченко ©   (04.06.04 12:05) [1]

Это-то понятно, но таск манагер показывает, что доступно больше половины из наличествующей Physical Memory.
Меня настораживает большое число Page Faults. Почему бы процессу не взять себе больше физической памяти, если она есть, вместо того чтобы лажать мимо страниц?


 
Nikolay M. ©   (2004-06-04 13:50) [3]

А ДКОМ-сервер стоит на одной машине с MS SQL? А памяти сколько физической?


 
Nikolay M. ©   (2004-06-04 13:55) [4]

Имхо, мс скл просто жрет память.
А если попробовать в свойствах сервера указать лимит используемой памяти (если стоит Dynamically configure, конечно)?


 
Clickmaker ©   (2004-06-04 13:57) [5]


> Nikolay M. ©   (04.06.04 13:50) [3]

Сиквел жрет в среднем что-то около 500 М, сконфигурен динамически.
Всего на серваке 2 гига оперативки, но обычно свободно около одного


 
Игорь Шевченко ©   (2004-06-04 14:10) [6]


> При этом памяти он расходует немного, даже при количестве
> клиентов около 40 - всего 25 М обычной и около 20 виртуальной.
> Пик не вылезает за пределы 50 М.


А кстати, сколько ему надо оценочно, этому DCOM-серверу ?

Система обычно при наличии свободной памяти сама расширяет рабочий набор, если он действительно нужен. Если же сам сервер постоянно лезет за новыми страницами, при отсутствии обращений к старым, то немудрено, что значение Page Faults растет.


 
Nikolay M. ©   (2004-06-04 14:12) [7]

Ну, я бы все-таки поковырялся с опциями из BOL:memory option, хотя бы просто из любопытства. К тому же сиквел любить много всего кешировать в физической памяти (тоже опционально), не факт, что это корректно понимается таск менеджером.


 
Nikolay M. ©   (2004-06-04 14:18) [8]


> Если же сам сервер постоянно лезет за новыми страницами

Именно так. Где-то в BOL в разделах, относящихся к управлению памятью и AWE можно узреть конфигурирование кэша, даже если "сервер idle", как сейчас помню...



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.019 c
14-1086333374
Baks
2004-06-04 11:16
2004.06.20
Из рубрики Знаменательная математика


1-1086340458
AVK
2004-06-04 13:14
2004.06.20
Проблема прокрутки строк в TRIchEdit


10-1013415077
OLEGator
2002-02-11 11:11
2004.06.20
Провйдер не передает более 50-ти полей


6-1083480866
lucky4me
2004-05-02 10:54
2004.06.20
Закачка HTTP


6-1082939222
Wiz@rd
2004-04-26 04:27
2004.06.20
SMTP & Outlook




   Наверх