Интенсивное использование swap при наличии свободной памяти


Главная Форумы POWER Systems AIX/Hardware Интенсивное использование swap при наличии свободной памяти

В этой теме 22 ответа, 5 участников, последнее обновление  Valentin 4 года/лет назад.

  • Автор
    Сообщения
  • #18723

    Valentin
    Участник

    Добрый день, коллеги!

    Наблюдаю следующую проблему: происходит интенсивное использование swap при наличии свободной памяти (файловый кеш). Сервер используется под oracle. Как следствие, все тормозит, при запросах в базу, или при выполнении резервного копирования субд, поскольку в свап вытесняется нужные данные.

    # oslevel -s
    6100-01-09-1015

    # vmstat -v
    12189696 memory pages
    6047536 lruable pages
    10520 free pages
    3 memory pools
    6989831 pinned pages
    80.0 maxpin percentage
    3.0 minperm percentage
    90.0 maxperm percentage
    70.5 numperm percentage
    4264465 file pages
    0.0 compressed percentage
    0 compressed pages
    70.5 numclient percentage
    90.0 maxclient percentage
    4264451 client pages
    0 remote pageouts scheduled
    59 pending disk I/Os blocked with no pbuf
    3545418 paging space I/Os blocked with no psbuf
    2228 filesystem I/Os blocked with no fsbuf
    0 client filesystem I/Os blocked with no fsbuf
    1742051 external pager filesystem I/Os blocked with no fsbuf
    64.9 percentage of memory used for computational pages

    # lsps -a
    Page Space Physical Volume Volume Group Size %Used Active Auto Type Chksum
    paging01 hdisk11 swapvg 19200MB 17 yes yes lv 0

    Т.е файловый кеш — 16ГБ, при этом используется свап, как при нехватке ОЗУ.

    Заранее спасибо за помощь

  • #18724

    uxTuaHgp
    Участник

    Видно, что половина памяти запинена.
    Включены большие страницы 16М?
    Оракловый SGA точно помещается в них?
    А то бывает выделят и запинят большие страницы, а оракл либо не умеет с ними работать либо просто не помещается и аллоцирует себе память из 4K страниц.

  • #18726

    Valentin
    Участник

    Александр,

    Да, используются страницы по 16М

    ]# svmon -G
    size inuse free pin virtual mmode
    memory 12189696 12177220 12476 7060571 8622309 Ded
    pg space 4915200 792648

    work pers clnt other
    pin 6633163 0 0 357776
    in use 7877018 14 4230556

    PageSize PoolSize inuse pgsp pin virtual
    s 4 KB — 5310436 792648 464139 1825157
    m 64 KB — 68214 0 51317 68214
    L 16 MB 1410 1393 0 1410 1393

    Оракл кладет туда SGA, и как видно использует почти весь сегмент 16М страниц.

  • #18727

    Oleg
    Участник

    # oslevel -s
    6100-01-09-1015

    древний ужас…

    Т.е файловый кеш — 16ГБ

    откуда столько в файловом кеше?
    данные на файловой системе БЕЗ cio?

  • #18730

    Valentin
    Участник

    warrax,

    древний ужас…

    ну какой есть 🙂

    CIO — не используется. Касательно файлового кеша — самому интересно.

  • #18731

    Oleg
    Участник

    CIO — не используется

    а надо бы…
    мало того что память занята ненужными данными так еще и CPU загружен ненужным управлением файловым кешем
    так что крайне рекомендую использовать cio для файловой системы с датафайлами и redo-логами

    https://www-950.ibm.com/events/wwe/grp/grp017.nsf/vLookupPDFs/AIX_Oracle_Tuning_2013/$file/AIX_Oracle_Tuning_2013.pdf
    особое внимание с 31 стр. данного документа

  • #18733

    Valentin
    Участник

    warrax,

    Спасибо за совет. Может быть подскажете по своппингу?

  • #18734

    Oleg
    Участник

    дайте еще вывод vmo -x lru_file_repage

  • #18735

    Valentin
    Участник

    warrax,

    Конечно:

    # vmo -x lru_file_repage
    lru_file_repage,0,0,0,0,1,boolean,D,

  • #18736

    uxTuaHgp
    Участник

    Ок.

    А как видим что свопит?
    И почему не накатываем обновления?

  • #18738

    Oleg
    Участник

    навскидку настройки нормальные
    предполагаю, что файл подкачки занят не с момента старта оракла, а с момента какого-то временного пикового потребления памяти на этом сервере (потому данные и ушли в pagespace), после которого появилась свободная RAM, занятая впоследствии файловым кешем?

  • #18739

    andrewk
    Участник

    AIX обновить минимум до TL4.
    Oracle CIO на FS нужен, если он а) древний как дерьмо мамонта, б) в нем не включена опция SETALL (или как она там?). Проверьте! И в случае необходимости включите, как говорит warrax.

  • #18740

    Valentin
    Участник

    warrax,

    Спасибо за анализ и рекомендацию по тюнингу. Но, все же, непонятно почему не освобождается файловый кеш.

  • #18741

    roman
    Участник

    Какую версию Oracle вы используете? Проверьте значение параметра Oracle filesystemio_options. Определите процессы, которые занимают наибольшее количество в paging space. Определите процессы с максимальным количеством client страниц. Как подключены data files: NAS, SAN, etc.?

  • #18742

    Oleg
    Участник

    Но, все же, непонятно почему не освобождается файловый кеш.

    потому что его никто не пробует «вытеснить»
    есть возможность останова базы?
    остановите Oracle, убедитесь, что освободился pagespace, снова запустите Oracle

  • #18744

    Valentin
    Участник

    warrax,

    Это уже делали, своп освобождается, а заьем, увы заполняется

  • #18745

    Valentin
    Участник

    roman,

    Oracle 11.2.03
    filesystemio_options = async
    Процессы в свопе — принадлежат oracle, причем это text data BSS heap, shared library …
    Все диски отданы по SAN

  • #18746

    roman
    Участник

    Установите filesystemio_options=setall (как ранее уже рекомендовалось другими участниками форума). Это позволит избежать большого количества client страниц. Монтировать файловую систему с опцией cio нет никакой необходимости. setall — это async + cio.

  • #18747

    Oleg
    Участник

    setall — это async + cio.

    setall — это по умолчанию async + dio 🙂
    со всеми вытекающими…
    из-за того, что O_CIO flag используют только специфические сборки Oracle

  • #18754

    roman
    Участник

    Для Oracle 10g,11g на JFS2 setall — это async + cio.

  • #18755

    uxTuaHgp
    Участник

    Для 11.2.0.3 точно async+cio

    Для 11.2.0.2 вроде бы были вариации.

  • #18756

    uxTuaHgp
    Участник

    И потом Oracle — это не только SGA, но и PGA + память процессов.
    Плюс, 10-15% оперативной памяти ядро AIX забирает под свои буфера.

    Так что запросто могли просчитаться.

    По поводу монтирования с CIO рекомендации рознятся у разных экспертов.

    Вроде бы официально заявляется, что с 11 версии Oracle это вообще не нужно — СУБД сама разберется, только скажите setall.
    Но есть рекомендации все же для на всякий случай включать CIO, если конечно вы бэкапитесь строго с помощью RMAN.

    Если же вам иногда необходим доступ к файловым системам с помощью команд ОС (например бэкап с помощью SAP brtools), то выключение CIO будет чревато боком.

  • #18787

    Valentin
    Участник

    Спасибо, большое, за советы.

Для ответа в этой теме необходимо авторизоваться.