Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.20;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.021 c
8-1081353832
Wm.DIGGER
2004-04-07 20:03
2004.06.20
Запись AVI шек ...


9-1077653558
Support1
2004-02-24 23:12
2004.06.20
Вопрос по DelphiGFX .....


3-1085501585
gfr
2004-05-25 20:13
2004.06.20
умножение времени на тариф за переговоры


1-1086256723
vic_vm
2004-06-03 13:58
2004.06.20
Проблемма с TSpeedButton, TBitBtn в WinXP для формы внутри dll


14-1086036186
Игорь Шевченко
2004-06-01 00:43
2004.06.20
Поздравляю всех с днем защиты детей!