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

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

Просмотр 22 веток ответов
  • Автор
    Сообщения
    • #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-логами

      Нажмите для доступа к 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
      Участник

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

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