Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Подскажите не которые особенности распределения памяти в Windows 2003  [new]
KC_KC
Member

Откуда:
Сообщений: 42
Здравствуйте, уважаемые участники форума.
Прошу Вас не пинать с самого начала новичка!
Прочитал на эту тему достаточно много тем в этом форуме.
Но не которые моменты остались для меня не понятными.
1)Ключ AWE_WINDOWS_MEMORY в реестре и параметр USE_INDIRECT_DATA_BUFFERS нужны, только если количество памяти больше 4 GB.

Т.е. если я на сервере с Windows 2003 SE с 4 Гб памяти поставлю ключ /3Gb, то служба оракла сможет взять три гига без выше перечисленных параметров??? (т.е. можно будет легко сделать db_cache_size = 2100 Mb ?)

2) Относится ли это ограничение только на физическую память, или оно влияет и на файл подкачки?
8 ноя 07, 16:56    [4892599]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
MinistrBob
Member

Откуда: Москва
Сообщений: 281
KC_KC
Здравствуйте, уважаемые участники форума.
Прошу Вас не пинать с самого начала новичка!
Прочитал на эту тему достаточно много тем в этом форуме.
Но не которые моменты остались для меня не понятными.
1)Ключ AWE_WINDOWS_MEMORY в реестре и параметр USE_INDIRECT_DATA_BUFFERS нужны, только если количество памяти больше 4 GB.

Т.е. если я на сервере с Windows 2003 SE с 4 Гб памяти поставлю ключ /3Gb, то служба оракла сможет взять три гига без выше перечисленных параметров??? (т.е. можно будет легко сделать db_cache_size = 2100 Mb ?)


Сможете сделать db_cache_size = 2100 Mb, только не забывайте кроме SGA есть еще и другие структуры памяти, PGA например, пользовательсике сессии и т.п. Поэтому не разгоняйтесь, не используйте 3Гб на 100%, оставляйте запас. Иначе можете столкнуться с ситуацией, что некий пользователь не может войти в базу - банально не хватет памяти (это при том что почти 1Гб будет свободен!).

KC_KC

2) Относится ли это ограничение только на физическую память, или оно влияет и на файл подкачки?


На файл подкачки ограничения нет, но лучше не выходить за рамки физической памяти. Для данного случая, так настраивать Oracle (SGA+PGA) чтобы процесс не занимал больше 2,7-2,8Гб. Иначе будет свопинг и пейджинг, что приведет к деградации производительности.

А если захотите использовать большее колличество памяти, то по моему скромному мнению, лучше не использовать костыли в виде AWE_WINDOWS_MEMORY и USE_INDIRECT_DATA_BUFFERS, а лучше переходить на 64-битную архитекутуру.
8 ноя 07, 23:35    [4894082]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
juks@gala.net
Member

Откуда: Киев
Сообщений: 4212
KC_KC
Здравствуйте, уважаемые участники форума.
Прошу Вас не пинать с самого начала новичка!
Прочитал на эту тему достаточно много тем в этом форуме.
Но не которые моменты остались для меня не понятными.
1)Ключ AWE_WINDOWS_MEMORY в реестре и параметр USE_INDIRECT_DATA_BUFFERS нужны, только если количество памяти больше 4 GB.

Т.е. если я на сервере с Windows 2003 SE с 4 Гб памяти поставлю ключ /3Gb, то служба оракла сможет взять три гига без выше перечисленных параметров??? (т.е. можно будет легко сделать db_cache_size = 2100 Mb ?)

2) Относится ли это ограничение только на физическую память, или оно влияет и на файл подкачки?

/3GB позволит юзать больше 2G памяти на не ОС процессы.например если 3GB памяти,
то 3 можно отдать базе, а гиг ОС

По AWE пусть старшие ребята подскажут. /me нетрезв и не помнит
8 ноя 07, 23:48    [4894096]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
Dimka9
Member

Откуда: Владивосток
Сообщений: 1851
juks@gala.net
если 3GB памяти,
то 3 можно отдать базе, а гиг ОС

заметно что:
juks@gala.net

/me нетрезв и не помнит
9 ноя 07, 01:31    [4894181]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
KC_KC
Member

Откуда:
Сообщений: 42
MinistrBob

На файл подкачки ограничения нет, но лучше не выходить за рамки физической памяти. Для данного случая, так настраивать Oracle (SGA+PGA) чтобы процесс не занимал больше 2,7-2,8Гб. Иначе будет свопинг и пейджинг, что приведет к деградации производительности.


Извеняюсь за пытливость, но значит если у меня файл подкачки до 5 гигов, и я ставлю db_cache_size = 5100 Mb, то 3 гига будет в физ. памяти, а 2.1 + size(PGA) разместятся в файле подкачки (пример чисто для выяснения механизма, конечно в жизни я этого ставить на боевой базе не буду :) ). И все будет работать.

Я прав???
9 ноя 07, 09:06    [4894440]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
нет
9 ноя 07, 09:09    [4894452]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
арпыкурп
Guest
KC_KC
[Извеняюсь за пытливость, но значит если у меня файл подкачки до 5 гигов, и я ставлю db_cache_size = 5100 Mb, то 3 гига будет в физ. памяти, а 2.1 + size(PGA) разместятся в файле подкачки (пример чисто для выяснения механизма, конечно в жизни я этого ставить на боевой базе не буду :) ). И все будет работать.

Я прав???
Если у тебя Win-32 платформа, то независимо от файла подкачки в самом лучшем случае на весь процесс ORACLE.EXE у тебя будет чуть меньше 3Гб. А уж где эти 3Гб будут размещены - в RAM или на HDD swop - дело третье.
Но как только процесс попытается заполучить памяти свяше 3Гб - так сразу и получит от винды по рукам.

Потому и придумали кривой способ обхода этого ограничения на Win-32 платформе. И название этому кривому способу - AWE.

Как вариант решения рпоблемы:
1) Переход на 64-х разрядную аппаратно-порграммную платформу Win-64
2) Переход на нормальную ОС (UNIX и иже с ним)
9 ноя 07, 09:16    [4894476]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
KC_KC
Member

Откуда:
Сообщений: 42
арпыкурп:
Спасибо за толковый ответ!

Значит, когда в Windows Task Manager сумма (MemUsage + VM Size) не должна быть больше 3 GB! Поправте если не прав.


У меня возник еще один вопрос:
При задании параметра sga_max_size память заранее резервируется и чтото мне подсказывает, что она резервируется в файле подкачке, далее при изменении параметра db_cache_size эта зарезервированная память переходит из файла подкачки в физ. память (если в ней имеется свободное место). Это верно, или это мои домыслы???

Просто на данный момент у меня следующие параметры:
sga_max_size=2307994288
db_cache_size=1317011456

и Task Manager позкаывает значения у процесса oracle.exe:
MemUsage = 1599000
VM Size = 1902000

т.е. вообще говоря более 3 гигов.
9 ноя 07, 09:29    [4894542]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
MinistrBob
Member

Откуда: Москва
Сообщений: 281
Почитай в документации про параметры инициализации PRE_PAGE_SGA и LOCK_SGA.

Экземпляр когда стартует, помещает в физическую память незначительную часть SGA, чтобы поместить всю SGA в RAM используют параметр PRE_PAGE_SGA, при этом увеличивается время старта экземпляра. Для закрепления SGA в памяти (чтобы в файл подкачки не выгружалась) испольуют LOCK_SGA - работает не на всех платформах, на win2003 должно работать.
9 ноя 07, 11:23    [4895428]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
KC_KC
Member

Откуда:
Сообщений: 42
MinistrBob:
Спасибо большое за развеевание моих сомнений....

Остается один вопрос:
Почему у меня в Task Manage: MemUsage(1599000) + VM Size( 1902000) > 3 Гб и оракл нормально работает???
9 ноя 07, 15:08    [4897572]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
Nuri
Member

Откуда: Архангельск
Сообщений: 625
KC_KC
MinistrBob:
Спасибо большое за развеевание моих сомнений....

Остается один вопрос:
Почему у меня в Task Manage: MemUsage(1599000) + VM Size( 1902000) > 3 Гб и оракл нормально работает???

Потому что это немного не то. Это working set size + Page file usage. Используйте например NTPV от sysinternals, он умеет показывать virtual size правильно. Или счетчики в перфмоне (virtual bytes по-моему).
9 ноя 07, 15:36    [4897783]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
KC_KC
Member

Откуда:
Сообщений: 42
Nuri
KC_KC
MinistrBob:
Спасибо большое за развеевание моих сомнений....

Остается один вопрос:
Почему у меня в Task Manage: MemUsage(1599000) + VM Size( 1902000) > 3 Гб и оракл нормально работает???

Потому что это немного не то. Это working set size + Page file usage. Используйте например NTPV от sysinternals, он умеет показывать virtual size правильно. Или счетчики в перфмоне (virtual bytes по-моему).

Извиняюсь, но что такое перфмон???
9 ноя 07, 15:42    [4897842]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
Nuri
Member

Откуда: Архангельск
Сообщений: 625
KC_KC
Извиняюсь, но что такое перфмон???

Perfomance Monitor
9 ноя 07, 15:42    [4897852]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
KC_KC
Member

Откуда:
Сообщений: 42
Спасибо такое я знаю :) .... Буду искать нужные счетчики...
9 ноя 07, 15:50    [4897926]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
KC_KC
Member

Откуда:
Сообщений: 42
Че-то так и не могу найти нужных счетчиков :(
Никто не знает что тут можно сделать стандартным софтом (для получения достоверной информации).
12 ноя 07, 09:43    [4902635]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
Nuri
Member

Откуда: Архангельск
Сообщений: 625
KC_KC
Че-то так и не могу найти нужных счетчиков :(
Никто не знает что тут можно сделать стандартным софтом (для получения достоверной информации).

Открываете утилиту perfomance. Perfomance object: Process. Находите в списке процессов (inctances) oracle. Выбираете в списке счетчик (counters) - virtual bytes.
12 ноя 07, 09:51    [4902665]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
KC_KC
Member

Откуда:
Сообщений: 42
Насколько я понимаю, этот параметер показывает колличество байт занятых в файле подкачки?
Или это общее кол-во занятой памяти?
12 ноя 07, 09:56    [4902688]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите не которые особенности распределения памяти в Windows 2003  [new]
Nuri
Member

Откуда: Архангельск
Сообщений: 625
KC_KC
Насколько я понимаю, этот параметер показывает колличество байт занятых в файле подкачки?
Или это общее кол-во занятой памяти?

Оспади, какой вы нудный. Неужели прочитать лень?
"Virtual Bytes is the current size, in bytes, of the virtual address space the process is using. Use of virtual address space does not necessarily imply corresponding use of either disk or main memory pages. Virtual space is finite, and the process can limit its ability to load libraries."
Переводить мне лень.
12 ноя 07, 10:36    [4902871]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить