24.02.2010 17:04
Deric
 
Исходные данные:
1) win2003_x64_SP1
2) Oracle 10.2.0.4
3) 2 проца Intel Xeon 2,27GHz, 5GB RAM
4) SGA_TARGET=2,9ГБ (SGA_MAX_SIZE=3Гб), включен Automatic Shared Memory management.
5) Aggregate PGA target = 600MB (хотя с начала старта maximum PGA Allocated 356МБ)

Наблюдаю значительный рост свопа. На данный момент PF USage уже 4,4 Гб и оракловый Advizer ругается на то, что обнаружил интенсивную подкачку данных.

Рост свопа происходит даже в момент обычной нагрузки на базу просто в период жизни инстанса.
Куда копать?
24.02.2010 17:43
OlegON
 
Цитата:
show sga
сделай в плюсе?
24.02.2010 18:09
Deric
 
Total System Global Area 3154116608 bytes
Fixed Size 2167368 bytes
Variable Size 345828792 bytes
Database Buffers 2801795072 bytes
Redo Buffers 4325376 bytes
24.02.2010 21:34
OlegON
 
ну посмотри
Цитата:
select * from v$sgastat;
на предмет неожиданностей, только думаю, что нужно взять какой-нибудь task manager от Руссиновича и посмотреть, кто у тебя память ест. Небось опять саму dbconsole понесло наружу...
25.02.2010 13:02
Deric
 
Взял Process Explorer, обнаружил java.exe, который в физической памяти занимает 200 метров, а в файле подкачки 640 метров.
Причём интересно, какое java-приложение использует эту память. Правильно ли я понимаю, что для служб супермага java не нужна?
Как себя будет чувствовать сам Oracle, если я выключу jvm?

А ещё увидел, что 4GB виртуальной памяти отъел сам Oracle.exe.
С этим ещё предстоит разобраться. Кто-нибудь, имеет опыт в трассировке процесса с целью нахождения утечек памяти?
25.02.2010 13:18
OlegON
 
Прибей всю яву, это dbconsole. Ораклу только лучше будет. Тебе поплохеет :)
4Гб для твоих настроек вполне предсказуемая величина... Если утекает что-то, то от консоли. Надеюсь, не в штатном таскменеджере смотришь, а в том, что я посоветовал?
25.02.2010 13:44
Deric
 
Смотрел в Process Explorer от sysinternals.com
Он же показал огромное количество page faults. Причём растёт довольно быстро (~3000 в минуту). Из этого, а также из
Код:
select * from v$sgastat where name = 'free memory'
видно, что неплохо было бы поднять SGA_target (в системе остаются незадействованы 500 Мb).
Спасибо за совет прибить dbconsole, а с ним и java, докину планку памяти и подниму SGA_target. По результатам отпишусь.
01.03.2010 11:47
Deric
 
Удивительно, но факт.
Оказалось, что на материнской плате один из слотов памяти был "полуживой". Вынул из него планку памяти, памяти фактически стало меньше, а по ощущениям, что производительность только возросла и своп перестал расти.
03.03.2010 22:07
deucel
 
Цитата:
Deric А ещё увидел, что 4GB виртуальной памяти отъел сам Oracle.exe.
Еще как вариант перейти с dedicated на shared.
Часовой пояс GMT +3, время: 05:20.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.