Если приложение установлено в SAN и процесс выходит из строя, может ли ядро ядра записать в раздел SAN? Я пытался выявить проблему, когда наш процесс умирает, и ядро не генерируется, поэтому нет стека. Оба случая были в двух совершенно разных средах Solaris. ulimit -c неограничен, pstack находится на пути. В своем первоначальном исследовании я нашел заявление, в котором утверждается, что невозможно сбросить дамп на диск SAN. Я не смог снова найти эту информацию, что привело меня к сомнению в ее действительности.Сброс ядра в SAN
ответ
Условия, при которых ядро не генерируется или не указано в core(4)
, используйте man core
, чтобы прочитать справочную страницу. Если идентификатор пользователя не задействован, это может случиться (точнее, ничего не происходит).
Вы также можете использовать gcore
, чтобы узнать, поможет ли ручное получение дампа ядра. Проверьте с помощью coreadm
, где дампы ядра идут по умолчанию - возможно, они не находятся в текущем рабочем каталоге, но где-то в /var
?
Volker
Ссылка вы обнаружили на дампы к SAN не работает, вероятно, имея в виде основные отвалов самого ядра. (обычно называемые аварийными отвалами на Solaris)
Возможно, у процесса нет полезного текущего каталога. Используйте coreadm, чтобы заставить ядра дампов быть написаны где-то разумным. См. http://developers.sun.com/solaris/articles/manage_core_dump.html
Если ваш процесс неожиданно умирает, и вы можете разрушить его производительность, попробуйте запустить его под ферму. Если это Solaris 10, dtrace может быть здесь весьма полезной.
Это может быть вопрос для Server Fault (сайт сестры переполнения стека для системных администраторов) – Zenshai