|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Есть СУБД Oracle и есть толпа клиентов. Клиенты подключаются, пророк создаёт процессы, процессы начинают исполнять запросы. Соответственно, возникают некие рабочие наборы отображаемой памяти. Запросы работают относительно быстро, а значит память выделяется и достаточно быстро освобождается, чтобы использоваться другими процессами. Всё хорошо. "Что-то случилось" и запросы начали исполняться медленнее. Рабочие наборы каждого процесса живут дольше, а значит, при той же нагрузке системе требуется больше (физической) памяти. Если "немного не рассчитать" с настройками, то после урезания кэшей файловых систем до минимума, операционка может начать высвапливать память процессов. Своппинг замедлит работу СУБД ещё больше и система может деградировать полностью. Когда используются большие страницы, то при нехватке ресурсов очередной процесс просто не будет создан: конкретный клиент получит отказ, но система в целом - останется не только работоспособной, но и управляемой. P.S. Если процесс "намапил от души" (файлов на десятки-сотни гигабайт), это "кэш файловой системы" или "память приложения"? То-то же. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2018, 13:59 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, я правильно Вас понимаю, что в линуксе большие страницы невытесняемые в своп, а стандартные - вытесняемые? Ранее в топике говорилось о том, что кэш ФС может скинуть страницы приложения в своп, правда ли это для случая стандартных для x64 страниц 4К? Про mmap() вопрос провокационный, ибо mmap-ить можно и, например, /dev/zero :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2018, 14:28 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Вот есть сервер с 16Гигами и есть приложение, которое течет, и за месяц натекает 30 ГБ и что теперь вот эти утекшие страницы никогда не вытеснять в своп? Конечно вытеснять и использовать память для дискового кеша. В защиту swap'а [в Linux]: распространенные заблуждения https://habr.com/company/flant/blog/348324/ ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2018, 18:58 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Scott Tigerв линуксе большие страницы невытесняемые в своп, а стандартные - вытесняемые?Это везде так - крайне непрактично свопить большие куски памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2018, 20:12 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Scott TigerLeonid Kudryavtsev, а известен ли технический способ борьбы с описанным Вами поведением? в данном случае, на сервере почему то доступ к БД шел через кэш ФС. Когда включили директ ио или асинх ио /подробности не знаю/, доступ к диску из Оракла стал идти минуя кэш ФС - проблема исчезла. А эффект был красивый. Стабильно проявлялся на запросах к одной большой табличке, все остальные таблички работали нормально, а одна табличка - начинала тупить со страшной силой. АФАИК раньше в линуксе был параметр swapless, но сейчас вроде его выпилили. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2018, 21:26 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Scott TigerGoofy122пропущено... а как очистить лог/трейс ? И вообще можно ли его очистить ? Боюсь, этот вопрос я не понял. В смысле , оракловские процессы растут как грибы после дождя. И все это отражается на diag/rdbms/orcl/trace Вы это имели ввиду ? Извиняюсь за глупый вопрос , но можно ли почистить trace файлыи вообще можно ли их очистить то есть удалить ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2018, 09:44 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Журавлев ДенисВот есть сервер с 16Гигами и есть приложение, которое течет, и за месяц натекает 30 ГБ и что теперь вот эти утекшие страницы никогда не вытеснять в своп? Идея исправить кривое приложение или вообще заменить его чем-то нормальным Вас не посещала? :) Журавлев ДенисВ защиту swap'а [в Linux]: распространенные заблуждения https://habr.com/company/flant/blog/348324/ Читал. Сложилось впечатление, что автор подсознательно считает нормальным (!) сам факт наличия конкуренции за память, но не может или не хочет аргументировать свою позицию. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2018, 10:35 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Basil A. SidorovScott Tigerв линуксе большие страницы невытесняемые в своп, а стандартные - вытесняемые?Это везде так - крайне непрактично свопить большие куски памяти. Нет, не везде, хотя, конечно, вызывает фрагментацию физической памяти с последующей невозможностью собрать большую страницу обратно или ожиданием дефрагментации. Но свопить вообще не практично. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2018, 10:46 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Goofy122Извиняюсь за глупый вопрос , но можно ли почистить trace файлыи вообще можно ли их очистить то есть удалить ? Спросите лучше в профильном форуме. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2018, 10:47 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Scott TigerBasil A. SidorovЭто везде так - крайне непрактично свопить большие куски памяти.Нет, не вездеСегментная память i80286 сдохла потому, что на диск вытеснялись сегменты, размером до 64 кило байт. Можете привести пример системы, которая высвопит страницу размером два гига байта? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2018, 10:56 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Basil A. Sidorov, солярис высвопит, но кусочками по 4/8К (на x86/SPARC соответственно). После этого обращение к большой странице потребует её дефрагментации. Нужно понимать, что большие страницы здесь могут быть совершенно для любых целей, например: Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2018, 11:51 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Что-то я не понимаю. Как такое _физически_ на уровне ядра процессора может быть? Флаг использования и прерывание обращения к странице происходит на уровне записи в таблице страниц.... Если свопим по 4 K, то и кусок памяти соответствующий данной записи должен быть 4 K. Т.е. страница должна быть 4 K. Масло-масленное получается ((( Мы можем узнать, что у нас не используется большая страница (факт этого мы знаем из записи о странице). Но мы же никак не можем узнать какая именно часть этой страницы не используется. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2018, 12:47 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, а вот так оно устроено - большие страницы представляются как последовательность страниц стандартного размера. См. "Solaris Internals 2nd Edition" (ISBN: 0131482092), раздел 9.10. Сейчас, правда, есть VM2 (Solaris 11.1+), и там может быть по-другому всё, но исходников у меня нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2018, 13:34 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Scott Tigerа вот так оно устроено - большие страницы представляются как последовательность страниц стандартного размераЭто профанация. Нормальные большие страницы существуют для того, чтобы резко уменьшить накладные расходы диспетчера виртуальной памяти для некоторых сценариев. Я, конечно, не сомневаюсь, что и у такой эмуляции есть приемлемые сценарии использования, но это не большие страницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2018, 15:00 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Scott TigerЖуравлев ДенисВ защиту swap'а [в Linux]: распространенные заблуждения https://habr.com/company/flant/blog/348324/ Читал. Сложилось впечатление, что автор подсознательно считает нормальным (!) сам факт наличия конкуренции за память, но не может или не хочет аргументировать свою позицию. а как без конкуренции? БД (да любая программа) может её всю сожрать, а всем остальным тоже нужна память. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2018, 15:38 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
tip78а как без конкуренции? БД (да любая программа) может её всю сожрать Раньше было такое понятие, как ВЫДЕЛЕННЫЙ сервер. СУБД память выделили, выделили... сожрет она ее всю или нет - это ее дело. Ресурсы выделены, все работает - вот никто пусть ничего и не трогает. tip78а всем остальным тоже нужна память. а все остальные идут лесом и на [некоторое количество] букв ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2018, 16:39 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Basil A. SidorovScott Tigerа вот так оно устроено - большие страницы представляются как последовательность страниц стандартного размераЭто профанация. Нормальные большие страницы существуют для того, чтобы резко уменьшить накладные расходы диспетчера виртуальной памяти для некоторых сценариев. Я, конечно, не сомневаюсь, что и у такой эмуляции есть приемлемые сценарии использования, но это не большие страницы. Большие страницы существуют для того, чтобы уменьшить TLB miss ratio для TLB стандартных страниц за счёт уменьшения собственно количества стандартных страниц. Для x64, как пишут (сам не проверял), также измеримо уменьшается вымывание L2-кэша, т.к. TLB стоит между L1- и L2-кэшами. Относительно "профанации" - почитайте указанную литературу, ISBN я дал, через него PDF гуглится. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2018, 11:14 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
tip78Scott TigerЧитал. Сложилось впечатление, что автор подсознательно считает нормальным (!) сам факт наличия конкуренции за память, но не может или не хочет аргументировать свою позицию. а как без конкуренции? БД (да любая программа) может её всю сожрать, а всем остальным тоже нужна память. Что значит "может"? А админ на что? За работой ПО нужно следить и, в том числе, ограничивать его аппетиты, благо в современных ОС таких возможностей хватает. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2018, 11:17 |
|
Распределение рама Unix
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsevtip78а как без конкуренции? БД (да любая программа) может её всю сожрать Раньше было такое понятие, как ВЫДЕЛЕННЫЙ сервер. СУБД память выделили, выделили... сожрет она ее всю или нет - это ее дело. Ресурсы выделены, все работает - вот никто пусть ничего и не трогает. Думаете, что-то поменялось? Таки нет :) Там, где так поступали, теперь дают выделенную виртуалку, благо это и дешевле, и быстрее. Особо настырным дают выделенную физику. Был недавно свидетелем, когда приложению, делающему 30 (тридцать) IOPS, выбили отдельную all-flash СХД. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2018, 11:24 |
|
|
start [/forum/topic.php?fid=25&msg=39643855&tid=1481342]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 265ms |
total: | 400ms |
0 / 0 |