Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Память используется на 100% / 23 сообщений из 23, страница 1 из 1
28.03.2014, 04:07
    #38598666
SoRa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
Доброго времени суток!

Есть сервак с ОС:
oracle@orcdb1:~> cat /etc/issue
Welcome to SUSE Linux Enterprise Server 11 SP2 (x86_64) - Kernel \r (\l).

На нем крутится бд oracle(одна инстанция). Что-то охотно кушает память (думаю не oracle).
oracle@orcdb1:~> free -m
total used free shared buffers cached
Mem: 129033 128640 393 0 198 124788
-/+ buffers/cache: 3653 125380
Swap: 53757 1148 52609

oracle@orcdb1:~/Desktop/smem-1.4> ./smem -u -t -k
User Count Swap USS PSS RSS
oracle 95 0 10.2G 17.5G 37.7G
---------------------------------------------------
95 0 10.2G 17.5G 37.7G

В oracle используется Automatic Memory Management:

SQL> show parameter target;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target integer 0
db_flashback_retention_target integer 0
fast_start_io_target integer 0
fast_start_mttr_target integer 0
memory_max_target big integer 100G
memory_target big integer 100G
parallel_servers_target integer 320
pga_aggregate_target big integer 0
sga_target big integer 0

SQL> select sum(bytes)/1024/1024 from v$sgastat;
SUM(BYTES)/1024/1024
--------------------
54838.8444900513

SQL> select * from v$pgastat where name like '%total PGA inuse%';
NAME VALUE UNIT
---------------------------------------------------------------- ---------- ------------
total PGA inuse 288761856 bytes

Как выяснить что потребляет так много памяти и еще част страницы уходят под своп?
...
Рейтинг: 0 / 0
28.03.2014, 08:15
    #38598717
Sleeping Daemon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
SoRa,

top/htop не пробовали использовать для анализа?
...
Рейтинг: 0 / 0
28.03.2014, 09:44
    #38598787
KoTTT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
SoRaoracle@orcdb1:~> free -m
total used free shared buffers cached
Mem: 129033 128640 393 0 198 124788
-/+ buffers/cache: 3653 125380
Swap: 53757 1148 52609
.....
В oracle используется Automatic Memory Management:
....

На таких объемах вам нужно смотреть в сторону huge pages и отказаться соответственно от AMM.
...
Рейтинг: 0 / 0
28.03.2014, 10:00
    #38598805
SoRa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
KoTTTНа таких объемах вам нужно смотреть в сторону huge pages и отказаться соответственно от AMM.
Зачем отказаться от AMM, есть какие нибудь аргументы?
У меня ОЗУ 128Г, я выделил 100Г для нужд oracle (MEMORY_TARGET=100G).
Остальное 28Г для ОС, этого не достаточна?
На серваке кроме oracle ничего лишнее не запущено.
...
Рейтинг: 0 / 0
28.03.2014, 11:19
    #38598900
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
автор
Код: plaintext
1.
2.
3.
4.
5.
oracle@orcdb1:~> free -m
       total  used free shared buffers cached
Mem: 129033 128640  393  0 198 124788
-/+ buffers/cache: 3653  125380 
Swap: 53757 1148 52609

это кеш файлов. почитайте linuxatemyram.com
это классика, это знать надо (с)
вышеумопянутая программа htop знает об этом конфузе и показывает цифры немного иначе.

Использование swap, конечно, всегда плохой знак, но это же Система на Базе Оракл ! Наверняка, там много компонент, которые вроде бы есть но, на самом деле нинужны(tm). Могли занять память и постепенно уйти в своп ввиду этой ненужности. Если так, то и беспокоиться не о чем.
...
Рейтинг: 0 / 0
28.03.2014, 12:22
    #38599005
KoTTT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
SoRaЗачем отказаться от AMM, есть какие нибудь аргументы?
Затем, что при таком объеме RAM page tables занимают просто неприличный объем этой самой RAM. И сам оракл настойчиво рекомендует юзать huge pages при объеме RAM больше 16ГБ. А на практике это имеет смысл даже начиная с 8ГБ.
Покажите ради интереса
Код: sql
1.
cat /proc/meminfo



netwindэто кеш файлов
При использовании AMM в оракле его sga сегменты как раз засчитываются в cached в линуксах.

Автор, почитайте
http://www.pythian.com/blog/pythian-goodies-free-memory-swap-oracle-and-everything/
http://kevinclosson.wordpress.com/2010/09/28/configuring-linux-hugepages-for-oracle-database-is-just-too-difficult-part-i/
и далее по ссылкам
...
Рейтинг: 0 / 0
28.03.2014, 12:24
    #38599008
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
cat /proc/meminfo|grep PageTables
...
Рейтинг: 0 / 0
28.03.2014, 13:41
    #38599136
KoTTT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
SoRaЗачем отказаться от AMM, есть какие нибудь аргументы?
А, ну да, забыл еще отметить, что shared сегменты при AMM не могут размещаться в huge pages. Отсюда и совет.
...
Рейтинг: 0 / 0
28.03.2014, 13:47
    #38599141
SoRa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
KoTTTПокажите ради интереса
Код: sql
1.
cat /proc/meminfo



Привожу результат но сегодня принудительно очистил кэш памяти ( synsync; echo 3 > /proc/sys/vm/drop_cachesc;).
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
oracle@orcdb1:~> cat /proc/meminfo
MemTotal:       132130764 kB
MemFree:        99967880 kB
Buffers:           56552 kB
Cached:         22684588 kB
SwapCached:            0 kB
Active:         12321088 kB
Inactive:       16100132 kB
Active(anon):   10755416 kB
Inactive(anon):  5702988 kB
Active(file):    1565672 kB
Inactive(file): 10397144 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:      55048188 kB
SwapFree:       55048188 kB
Dirty:                80 kB
Writeback:             0 kB
AnonPages:       5679872 kB
Mapped:          8800080 kB
Shmem:          10778288 kB
Slab:             310024 kB
SReclaimable:     166672 kB
SUnreclaim:       143352 kB
KernelStack:        5336 kB
PageTables:      2055840 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    121113568 kB
Committed_AS:   17783876 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      507436 kB
VmallocChunk:   34292130160 kB
HardwareCorrupted:     0 kB
AnonHugePages:    403456 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       92024 kB
DirectMap2M:     7213056 kB
DirectMap1G:    126877696 kB
...
Рейтинг: 0 / 0
28.03.2014, 14:14
    #38599178
KoTTT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
SoRaKoTTTПокажите ради интереса
Код: sql
1.
cat /proc/meminfo




Привожу результат но сегодня принудительно очистил кэш памяти ( synsync; echo 3 > /proc/sys/vm/drop_cachesc;).
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
oracle@orcdb1:~> cat /proc/meminfo
SwapTotal:      55048188 kB
SwapFree:       55048188 kB
...
PageTables:      2055840 kB
...
AnonHugePages:    403456 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB


Своп у вас пустой.

PageTables - столько занимают в памяти page tables. Ваша цель в итоге перейти на HugePages.
А вот AnonHugePages оракл опять же рекомендуют отключать, в своем OL оно у них уже отключено, пакетом пакете oracle-rdbms-preinstall также это дело отключается как "совсем нестабильное".

Однако, какой-то реальной проблемы не видно даже в такой конфигурации. Указаний на реальную проблему с выводом vmstat не было, кроме опасений "памяти нет" :).

У самих есть довольно большие базы на линуксах с большой памятью, где поставщики сами настраивают все на memory target, потому что так у них где-то во внутренней инструкции прописано. И ничего, работают себе. А нам в принципе параллельно, работает и бог с ними. Но все свои базы давно и прочно на HugePages.
...
Рейтинг: 0 / 0
28.03.2014, 14:30
    #38599213
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
PageTables: 2055840 kB
а всего-то 2гига просралось, это совсем немного на таком объеме памяти. Сколько сессий/процессов у оракла?
...
Рейтинг: 0 / 0
28.03.2014, 14:54
    #38599239
SoRa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
KoTTT,
KoTTTСвоп у вас пустой.
SoRaПривожу результат но сегодня принудительно очистил кэш памяти ( synsync; echo 3 > /proc/sys/vm/drop_cachesc;).

Забыл про этих команд:
Код: sql
1.
2.
swapoff -a;
swapon -a;


для очищения свопа.

Журавлев Денис,
Журавлев ДенисСколько сессий/процессов у оракла?

Если имеется ввиду юзерких сессий подключений то в среднем бывает 400-500 сессии.
...
Рейтинг: 0 / 0
28.03.2014, 17:33
    #38599475
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
SoRaЕсли имеется ввиду юзерких сессий подключений то в среднем бывает 400-500 сессии.
а они shared или dedicated ?
сколько показывает ps -ef|grep oracle|wc -l

посмотрите PageTables при 400-500 пользователях
...
Рейтинг: 0 / 0
28.03.2014, 18:01
    #38599501
SoRa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
Журавлев Дениса они shared или dedicated ?
сколько показывает ps -ef|grep oracle|wc -l

Код: sql
1.
2.
oracle@orcdb1:/app> ps -ef|grep oracle|wc -l
87


Журавлев Дениспосмотрите PageTables при 400-500 пользователях

Код: sql
1.
2.
oracle@orcdb1:/app> cat /proc/meminfo | grep PageTables
PageTables:       451440 kB
...
Рейтинг: 0 / 0
28.03.2014, 18:27
    #38599525
KoTTT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
SoRaЖуравлев Дениса они shared или dedicated ?
сколько показывает ps -ef|grep oracle|wc -l

Код: sql
1.
2.
oracle@orcdb1:/app> ps -ef|grep oracle|wc -l
87




87 процессов - это практически пустой инстанс. Одними фоновыми процессами набирается около 40-50 штук.
...
Рейтинг: 0 / 0
28.03.2014, 18:54
    #38599545
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
KoTTT87 процессов - это практически пустой инстанс. Одними фоновыми процессами набирается около 40-50 штук.или shared или сервер приложений с пулом коннектов
...
Рейтинг: 0 / 0
28.03.2014, 19:15
    #38599560
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
SoRaparallel_servers_target integer 320смело:) если оно у вас дейстительно так запускается, то никакой памяти не хватит.
...
Рейтинг: 0 / 0
28.03.2014, 19:37
    #38599566
KoTTT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
Relic HunterSoRaparallel_servers_target integer 320смело:) если оно у вас дейстительно так запускается, то никакой памяти не хватит.
Так это "умолчательное" значение скорее всего.
После каких-то действий техподдержки на нашей базе увидел нечто аналогичное. Заметили случайно, все как работало, так и работало. OLTP :)
...
Рейтинг: 0 / 0
28.03.2014, 19:49
    #38599572
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
KoTTTSoRaпропущено...
Код: sql
1.
2.
oracle@orcdb1:/app> ps -ef|grep oracle|wc -l
87




87 процессов - это практически пустой инстанс. Одними фоновыми процессами набирается около 40-50 штук.Так под этот grep фоновые как раз и не попали, только пользовательские.
...
Рейтинг: 0 / 0
28.03.2014, 20:45
    #38599596
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
Relic HunterKoTTTпропущено...


87 процессов - это практически пустой инстанс. Одними фоновыми процессами набирается около 40-50 штук.Так под этот grep фоновые как раз и не попали, только пользовательские.под этот греп попали все у кого владелец оракл, т.е. и баши и ssh-и и все (пять) инстансов
...
Рейтинг: 0 / 0
28.03.2014, 22:04
    #38599629
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
Журавлев ДенисRelic Hunterпропущено...
Так под этот grep фоновые как раз и не попали, только пользовательские.под этот греп попали все у кого владелец оракл, т.е. и баши и ssh-и и все (пять) инстансовСогласен. Это Я перепутал с "grep oracle<sid>", как считать пользовательские процессы.
...
Рейтинг: 0 / 0
31.03.2014, 08:09
    #38600459
SoRa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
Коллеги, спасибо за советы.

Сегодня вижу такую картину:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
oracle@orcdb1:/app> free -m
             total       used       free     shared    buffers     cached
Mem:        129033     128608        425          0        178     120165
-/+ buffers/cache:       8265     120768
Swap:        53757        192      53565
oracle@orcdb1:/app> free -g
             total       used       free     shared    buffers     cached
Mem:           126        125          0          0          0        117
-/+ buffers/cache:          8        117
Swap:           52          0         52



Можете сказать вкратце что нужно делать, чтобы память не пошло в своп?
И стоит ли очистить кэш принудительно? (sync; echo 3 > /proc/sys/vm/drop_caches)
...
Рейтинг: 0 / 0
31.03.2014, 08:28
    #38600464
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Память используется на 100%
У вас все в порядке.
Память всегда используется на 100%, вся свободная используется по дисковый кеш.
ОС страницы памяти к которым не было обращений какое-то время, копирует в своп, чтобы в случае чего использовать память для других процессов, это даже полезно для процессов с утечками памяти, все что утекло переезжает в своп. Регулируется это поведение параметром swappiness.

команда "vmstat 1 100" в столбцах si и so показывает ход своппинга, swap in/out, если в столбцах перманентно 100-и, 1000-и, то да проблема есть, если там 0, иногда 10-ки, то все в порядке.

52 Гига свопа смысл имеют если есть процесс который тихо течет и постепенно падает в своп и иногда раз в году его рестартуем.
Я на системах с сотнями гигов памяти, своп делаю 2-4 гига, swappiness 0, и мониторю заббиксом, если использовано >60%, значит пора разбираться, кто-то начал жрать больше.
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Память используется на 100% / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]