fork: There is not enough memory available now.


Главная Форумы POWER Systems AIX/Hardware fork: There is not enough memory available now.

В этой теме 13 ответов, 6 участников, последнее обновление  Theodor 7 года/лет, 7 мес. назад.

Aliexpress INT
  • Автор
    Сообщения
  • #6497

    Theodor
    Участник
    Aliexpress INT

    Добрый день!

    Проводил экперемент с жизнеспособностью AIX 5.3 и получил
    fork: There is not enough memory available now.
    простым запуском нескольких одновременных команд cksum на большие файлы.
    К сожалению, система не выходит из этого состояния 🙁
    Получается, что необходимо перезагрузить AIX.
    Это так задумано в AIX?
    Или где-то параметрами эту ситуацию можно изменить?

    Отмечу, что AIX выдал Killed на ряд команд cksum.

  • #6498

    Michael
    Участник

    А ps удаётся запустить, чтобы выявить и потом покиллять все процессы cksum?

  • #6499

    Theodor
    Участник

    mih писал(а):

    А ps удаётся запустить, чтобы выявить и потом покиллять все процессы cksum?

    На абсолютно все команды отвечает одно и тоже
    fork: There is not enough memory available now.

    И в то же время создал сессию с консоли.
    На команду shutdown -r ответил
    fork: There is not enough memory available now.

    В HMC на “просьбу” перезапустить раздел командами OS – ничего не ответил
    и НЕ перезапустил.
    Только команда HMC – “перезапустить немедленно раздел” была воспринята

  • #6500

    uxTuaHgp
    Участник

    Ну вот как раз перекликается тема с соседней.
    Был бы своп побольше – система бы медленно, но жила и было бы время среагировать.
    А так да, либо дожидаться, пока доработает или отстрелится тот, кто спровоцировал коллапс, либо перегружать.

  • #6501

    Theodor
    Участник

    Александр писал(а):

    Ну вот как раз перекликается тема с соседней.

    Очень похоже что вопрос со свопом в AIX сродни с извечным российским вопросом
    “Что делать?”

    Был бы своп побольше – система бы медленно, но жила и было бы время среагировать.

    Получилось, что система среагировала – выдала kill на процесс cksum.
    И на этом остановилась. Память освобождать не стала. Обиделась 😉

    Этот эксперемент с cksum я стал проводить после неожиданной перезагрузки
    рабочего LPAR с AIX 5.3 и HACMP. Истинной причины перезагрузки мне обнаружить не
    удалось (hacmp.out содержит инормацию только о запуске). Единственная зацепка – то
    что в это время выполнялась программа cksum. Хотя, думаю не важно, что именно cksum.
    gzip так же мог поступить.

    А так да, либо дожидаться, пока доработает или отстрелится тот, кто спровоцировал коллапс, либо перегружать.

    Получается, надо купить и установить HACMP!
    Т.к дожидаться особо нечего.
    Залогиниться можно, а команду ps и kill дать нельзя

    Сейчас пытаюсь повторить эту ситуацию и безуспешно.
    PAGING SPACE – % Used 3.4
    и выше не поднимается.

  • #6502

    Michael
    Участник

    Получается, надо купить и установить HACMP!
    Т.к дожидаться особо нечего.
    Залогиниться можно, а команду ps и kill дать нельзя

    В этой ситуации НАСМР не спасёт. Если можно сделать логин, то, скорее всего, система будет откликаться и на сетевые запросы вроде ping, а также на запросы от НАСМР, следовательно, переброса ресурсов на резервный узел кластера не произойдёт…

    Учите команду halt 🙂

  • #6503

    Theodor
    Участник

    mih писал(а):

    Учите команду halt 🙂

    Команду выучим …
    Но дело то не в команде…
    Дело в параметре AIX …

    trouble = NO

    😉

  • #6504

    vyachka
    Участник

    в подобной ситуации под Solaris делал из консольной сессии:
    #exec pkill -9 cksum
    шелл после этого теряешь, так что есть всего один шанс 🙂
    в AIX pkill похоже нет, сейчас негде проверить

  • #6505

    Michael
    Участник

    Углядел, что на http://www.ibm.com/developerworks/forums/thread.jspa?threadID=228113 описывается очень похожая ситуация :woohoo:

  • #6506

    Theodor
    Участник

    Спасибо за ссылку на статью.
    Буду курить 🙂

    Только вот никак не удается повторить ситуацию с
    fork: There is not enough memory available now.

    И PAGING SPACE – % Used 3.4 не меняется!

    А если не повторить ошибки то и с параметрами AIX не “поиграть” 🙁

    Обнаружил что

    lgpg_regions = 0
    lgpg_size = 0

    Могут ли эти параметры влиять на живучесть системы?
    Т.к. меня интересует прежде всего живучесть системы.
    Пусть работает медленно – но работает и не падает.
    Конечно хотелось, что бы у PAGING SPACE были “вменяемые” размеры.

    PS Поздравляю все уважаемое сообщество AIXPortal с наступающим Новым годом!

  • #6508

    uxTuaHgp
    Участник

    Не всегда возможно и залогиниться…
    И да, всех с наступающим, хотя есть еще завтрашний день для поздравлений 😆

  • #6516

    andrewk
    Участник

    чтобы повторить ситуацию – уменьшите paging space или убейте его совсем, затем с помощью команды rmss (afair) уменьшите объем доступной памяти. после этого запустите, например, утилитку из nstress toolkit для моделирования занятости памяти и можете попробовать позапускать еще cksum. Подобная ошибка возникает лишь тогда, когда занята вся память – и оперативная, и paging. Как только вы этого добъетесь, сможете проверить 🙂
    Параметры lgpg_regions и lgpg_size еще как могут влиять на живучесть системы. Большие страницы памяти, описанные этими параметрами, принципиально не уходят в paging, поэтому Вы можете при помощи этих параметров легко и беззаботно зарезервировать оперативную память ни под что, а все процессы окажутся в paging’е.

  • #6532

    Дмитрий
    Участник

    Процессы начинают убиваться после достижения порога загрузки paging space (настройка npskill в vmo).

  • #6542

    Theodor
    Участник

    Batutex писал(а):

    Проводил экперемент с жизнеспособностью AIX 5.3 и получил
    fork: There is not enough memory available now.
    простым запуском нескольких одновременных команд cksum на большие файлы.
    К сожалению, система не выходит из этого состояния 🙁

    Возможно ли что параметры

    HIGH water mark for pending write I/Os per file = 0
    LOW water mark for pending write I/Os per file = 0

    виноваты в такой ситуации?

    В документации на AIX 5.3 сказано
    “Значение по умолчанию для параметров maxpout и minpout равно 0. Это означает, что функция ограничения ввода-вывода выключена.”

    А в AIX 6.1 уже по другому
    “Значение по умолчанию для maxpout равно 8193, а для minpout – 4096. Для выключения ограничения ввода-вывода, задайте для этих параметров значение 0.”

    Вопрос к уважаемому сообществу – кто-нибудь менял эти параметры после инсталяции AIX?

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