PHP Fatal error: Allowed memory size
-
Доброго всем времени! Сломал мозг, нужна помощь. Ситуация следующая:
Три года в качестве шлюза используем PFS на довольно неплохом железе - core i5, 8Гб озу, 220Гб SSD, 4х портовая сетевушка intel. До лета сего года шлюз стабильно работал на предыдущей версии PFS, аптайм был по 200+ дней, никаких проблем.
Летом начало мозолить глаза невозможность обновления модулей, стал просить обновить версию PFS. Обновил, внёс небольшие изменения в конфигурацию (добавились 2 подсети с отдельным шлюзом).
И начались проблемы - PFS самостоятельно может уйти в ребут и зависнуть, либо просто наглухо вешается веб морда. Поменял SSD две недели полёт нормальный, думал решилась проблема... нет! Вчера дважды за день та же историяCrash report begins. Anonymous machine information:
amd64
12.2-STABLE
FreeBSD 12.2-STABLE fd0f54f44b5c(RELENG_2_5_0) pfSenseCrash report details:
PHP Errors:
[05-Dec-2021 00:10:00 Europe/Moscow] PHP Fatal error: Uncaught Error: Call to undefined function is_array() in /etc/inc/service-utils.inc:209
Stack trace:
#0 /etc/inc/service-utils.inc(523): is_service_running('suricata')
#1 /usr/local/pkg/servicewatchdog.inc(100): get_service_status(Array)
#2 /usr/local/pkg/servicewatchdog_cron.php(30): servicewatchdog_check_services()
#3 {main}
thrown in /etc/inc/service-utils.inc on line 209
[05-Dec-2021 00:15:00 Europe/Moscow] PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 562949953421360 bytes) in /etc/inc/ipsec.inc on line 25No FreeBSD crash data found.
Куда копать?
-
@descod Версия pfSense? Что за пакеты установлены? Распишите подробнее вашу конфигурацию.
-
@descod
Добрый в догонку вопрос
есть ли что-нибудь в папке
/var/crash ?если есть - выложите , Пожалуйста , этот файл сюда
-
@viktor_g said in PHP Fatal error: Allowed memory size:
@descod Версия pfSense? Что за пакеты установлены? Распишите подробнее вашу конфигурацию.
"...12.2-STABLE
FreeBSD 12.2-STABLE fd0f54f44b5c(RELENG_2_5_0) pfSense...."arpwatch net-mgmt 0.2.0_6 This package contains tools that monitors ethernet activity and maintains a database of ethernet/ip address pairings. It also reports certain changes via email.
Package Dependencies:
arpwatch-3.1
Cron sysutils 0.3.7_5 The cron utility is used to manage commands on a schedule.
nmap security 1.4.4_2 NMap is a utility for network exploration or security auditing.
It supports ping scanning (determine which hosts are up), many port scanning techniques (determine what services the hosts are offering), version detection (determine what application/service is running on a port), and TCP/IP fingerprinting (remote host OS or device identification). It also offers flexible target and port specification, decoy/stealth scanning, SunRPC scanning, and more.Package Dependencies:
nmap-7.91
Service_Watchdog sysutils 1.8.7_1 Monitors for stopped services and restarts them.
suricata security 6.0.3_3 High Performance Network IDS, IPS and Security Monitoring engine by OISF.Package Dependencies:
suricata-6.0.3_1 -
@konstanti said in PHP Fatal error: Allowed memory size:
@descod
Добрый в догонку вопрос
есть ли что-нибудь в папке
/var/crash ?если есть - выложите , Пожалуйста , этот файл сюда
там пусто
-
Добрый.
@descod1.Сделайте бэкап конфига (лучше ДВА - с доп. пакетами и без).
2. Разверните свежий пф.
3. Подкиньте бэкап.Не тратьте время.
-
@werter , приветствую!
Примерно так и сделал, засейвил полный бэкап, удалил оттуда весь мусор что оставался от тестов различных пакетов, залил на PFS. Прошло около суток, пока полёт нормальный, ждём. -
@descod
Добрый день
Меня больше всего смущают неожиданные перезагрузки устройства . На ровном месте такое не случается . Возможно , что проблема в железе есть .
И начались проблемы - PFS самостоятельно может уйти в ребут и зависнуть
Ошибка PHP , которую Вы показали , очень удивительная сама по себе . -
@descod said in PHP Fatal error: Allowed memory size:
удалил оттуда весь мусор что оставался от тестов различных пакетов
Достаточно при выгрузке бэкапа поставить ОДНУ галку, чтобы инф-ция о доп. пакетах не попала в этот бэкап. Руками править не стоит без особой надобности.
Зы. Новый пф на zfs установили? Она стабильнее ufs в плане резкого пропадания эл-ва и постепенного отказа диска (появления бэдов). Можно также на софтовый zfs raid развертывать, что добавляет отказоустойчивости.
-
Достаточно при выгрузке бэкапа поставить ОДНУ галку, чтобы инф-ция о доп. пакетах не попала в этот бэкап. Руками править не стоит без особой надобности.
У меня были установлены и настроены несколько пакетов, не было желания опять с нуля их настраивать. На мой взгляд проще удалить 40кб мусора :) Тем более его хорошо видно в бэкапе.
В серверной мощный ИБП, PFS установлен на SSD. -
@konstanti said in PHP Fatal error: Allowed memory size:
@descod
Добрый день
Меня больше всего смущают неожиданные перезагрузки устройства . На ровном месте такое не случается . Возможно , что проблема в железе есть .
И начались проблемы - PFS самостоятельно может уйти в ребут и зависнуть
Ошибка PHP , которую Вы показали , очень удивительная сама по себе .Склонен думать всё же, что это "замусоренный" конфиг от предыдущего PFS так себя проявлял.
-
@descod said in PHP Fatal error: Allowed memory size:
PFS установлен на SSD.
И TRIM вкл при этом? Логи в ram вынесены с периодическим сбрасыванием на диск? Что за ФС на пф?
-
@werter said in PHP Fatal error: Allowed memory size:
@descod said in PHP Fatal error: Allowed memory size:
PFS установлен на SSD.
И TRIM вкл при этом? Логи в ram вынесены с периодическим сбрасыванием на диск? Что за ФС на пф?
... мда... и как жеж предыдущая версия PFS почти два года отработала не зная об этом?))
var и tmp конечно на раме, почти 2Гб в сумме (из 8) раз в 12 часов сброс. Трим даже теоретически не имеет смысла включать - из 220Гб занято всего 3%. -
-
Добрый.
@descod said in PHP Fatal error: Allowed memory size:Трим даже теоретически не имеет смысла включать
Вы считаете общие рекомендации ВСЕХ вендоров (и MS и nix) вкл. поддержку trim глупостью?
TRIM – это просто обновление статуса: когда файловая система удаляет блок, он также уведомляет устройство о том, что блок больше не используется. Затем прошивка SSD может выполнять выравнивание в фоновом режиме. Без TRIM он не сможет определить, все еще используется этот блок.
На пальцах. Без ТРИМ ОС "не понимает" , что данные удалены и можно использовать это место для новых данных.
Покажите вывод tunefs -p /dev/<partition-name>