Оформление
Ненормальное завершение процессов BI в Linux
1. описание проблемы
Я использую FineBI в Linux, и процесс FineBI завершается ненормально во время работы системы, но в журнале BI нет никакой ненормальной информации.
2. Причины проблем и их решения
2.1 Возможные причины
В случае вышеописанного явления причиной проблемы может быть то, что процесс FineBI был завершен системой, вы можете проверить системный журнал Linux /var/log/messages, чтобы увидеть журнал того момента, когда процесс был аномально завершен.
Если в этот момент времени есть журнал, соответствующий убийству процесса FineBI, это означает, что процесс FineBI был убит системой.
2.2 Решения
Если система Linux убивает процесс FineBI, это может быть вызвано собственным механизмом OOM KILLER. Проверьте файл/etc/sysctl.conf (конфигурация параметров ядра) вашей системы Linux, если vm.overcommit_memory=2, это означает, что система не разрешает операцию overcommit операция не разрешена.
Механизм OOM KILLER убивает процессы с большим потреблением памяти, когда в linux не хватает памяти, и записывает их в /var/log/message, где фиксируется такая информация, как pid, имя процесса, маска процессора, трассировка и т. д., чтобы можно было обнаружить подобные проблемы с помощью мониторинга.
Для решения подобных проблем можно изменить значение параметра ядра системы vm.overcommit_memory, установив его в 0/1 соответственно:
- 0 C Эвристическая обработка оверкоммитов. Это значение по умолчанию, которое разрешает оверкоммиты, но отклоняет слишком вопиющие оверкоммиты, например, malloc, который запрашивает больше памяти, чем вся системная память за один раз. эвристический означает "предварительный". Heuristic означает "пробный", когда ядро использует алгоритм (подробное объяснение этого алгоритма см. в конце статьи), чтобы определить, является ли ваш запрос памяти разумным или нет, и если оно считает, что это не так, то отклонит оверкоммит.
- 1 C Всегда перекоммитить. Перекоммитить разрешено, а запросы на память не отклоняются.
При необходимости скорректируйте значения параметров ядра или увеличьте объем памяти системы, чтобы решить проблему. После настройки значений параметров ядра необходимо ввести команду sysctl -p, чтобы конфигурационный файл вступил в силу.
sysctl -pПодробные принципы можно найти в статье Понимание MEMORY OVERCOMMIT для LINUX.