Ad Widget

Collapse

PHP Fatal error: Allowed memory size

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • DeeZ
    Member
    • Aug 2015
    • 82

    #1

    PHP Fatal error: Allowed memory size

    При открытии страницы "Графики" - страница не отображается. В логах нехватка памяти:
    PHP Fatal error: Allowed memory size of 2147483648 bytes exhausted (tried to
    allocate 72 bytes)

    Оно и понятно. Мониторится 3500 хостов, по 60 графиков на кажный (Трафик и Ошибки) итого ~200 000 - графиков.

    Как то можно это решить?
    не создавать столько графиков и только смотреть через простые графики - совсем крайний случай. Хочется всетаки в комплексных экранах красивостей.
  • zmdpc
    Senior Member
    • Oct 2014
    • 484

    #2
    Добавить в /etc/php5/apache2/php.ini необходимый размер памяти
    В данном случае memory_limit = 2200M

    Comment

    • DeeZ
      Member
      • Aug 2015
      • 82

      #3
      Originally posted by zmdpc
      Добавить в /etc/php5/apache2/php.ini необходимый размер памяти
      В данном случае memory_limit = 2200M
      Идея у вас праивльная, но не рабочася )
      1. файлик лежит тут: /etc/zabbix/apache.conf
      2. памяти уже 5 гиг.php_value memory_limit 5000M не хватает.

      Те только добавлять памяти? как то разбить этот огромный список нельзя? например не загружать список графиков пока не выбран конкретный узел?

      Comment

      • zmdpc
        Senior Member
        • Oct 2014
        • 484

        #4
        Та ладно не рабочая, вполне себе рабочая .
        То, что актуально для Debian согласен может иметь в другой системе другое расположение, но не надо заниматься казуистикой. Нужно добавить памяти рнр и при чем тут настройки апача /etc/zabbix/apache.conf? Какая система?
        Где обнаружили сие сообщение в первом сообщении?
        Last edited by zmdpc; 02-11-2015, 11:40.

        Comment

        • DeeZ
          Member
          • Aug 2015
          • 82

          #5
          Originally posted by zmdpc
          Та ладно не рабочая, вполне себе рабочая .
          Не рабочая я имел ввиду что не помогло мне. даже выделение 5 гигов не помогает. в ожидается еще тыщи 2-3 устройств.
          Правда не помогает уже по другим причинам: страница отваливается по таймауту прежде чем успеет сформироваться этот список.

          Originally posted by zmdpc
          при чем тут настройки апача /etc/zabbix/apache.conf? Какая система?
          Где обнаружили сие сообщение в первом сообщении?
          бунта, забикс последний из реп (2.4.6). В нем настройки пхп хранятся именно в этом файле.
          Last edited by DeeZ; 02-11-2015, 12:04.

          Comment

          • Zentarim
            Senior Member
            • Mar 2012
            • 526

            #6
            Я правильно понял, что вы засовываете все эти графики в один комплексный экран?

            Comment

            • DeeZ
              Member
              • Aug 2015
              • 82

              #7
              Originally posted by Zentarim
              Я правильно понял, что вы засовываете все эти графики в один комплексный экран?
              Нет не правильно. Схема следующая:
              У меня через дискавери находятся интерфейсы. Создаются ЭД: In, OUT, ErrIn,ErrOUT.
              Для каждой группы создается график. на одном графике Трафик (In\Out) на втором ошибки (ErrIn,ErrOUT).
              Получаем, например 28х2 графиков.
              Далее эти графики добавляются на комплексный экран. На комплексном только графики от портов конкретной железяки.


              Но вот беда в том что теперь на каждый узел у меня создано ~60 графиков. Тк узлов около 3500 то при попытке зайти на графики (http://zabbix/charts.php) у меня валится PHP тк не может прожевать эти 200 тыс графиков (страница пытается их отобразить в выпадающем списке).

              Добавление памяти не пмогает, тк эта попытка прожевать такой список отваливается уже по таймауту браузера.

              Comment

              • zmdpc
                Senior Member
                • Oct 2014
                • 484

                #8
                Думаю желательно увидеть тогда полный лог ошибок апача.

                Comment

                • DeeZ
                  Member
                  • Aug 2015
                  • 82

                  #9
                  Code:
                  Mon Nov 02 11:32:13.720278 2015] [core:notice] [pid 8815] AH00094: Command line: '/usr/sbin/apache2'
                  [Mon Nov 02 11:33:53.288571 2015] [:error] [pid 8829] [client 1.1.1.1:37435] PHP Fatal error:  Allowed memory size of 2147483648 bytes exhausted (tried to allocate 72 bytes) in /usr/share/zabbix/include/classes/macros/CMacrosResolver.php on line 625, referer: http://zabbix/graphs.php?hostid=12029&sid=8c40779725e39af6
                  Вот последняя ошибка, когда памяти было выделено 2 гига. после того как выделил 5 - фатал еррор пропало, но теперь браузер показывает:

                  "Explanation: The request timed out before the page could be retrieved."

                  Comment

                  • zmdpc
                    Senior Member
                    • Oct 2014
                    • 484

                    #10
                    Я так понимаю нужно смотреть в сторону max_execution_time

                    Comment

                    • DeeZ
                      Member
                      • Aug 2015
                      • 82

                      #11
                      Originally posted by zmdpc
                      Я так понимаю нужно смотреть в сторону max_execution_time
                      Стоит 5 минут

                      php_value max_execution_time 300


                      Тут вопрос то больше в том как не грузить графики, пока не выбран конкретный узел. может где то есть волшебная строка конфига?

                      Comment

                      • yukra
                        Senior Member
                        • Apr 2013
                        • 1359

                        #12
                        Originally posted by DeeZ
                        Стоит 5 минут

                        php_value max_execution_time 300


                        Тут вопрос то больше в том как не грузить графики, пока не выбран конкретный узел. может где то есть волшебная строка конфига?
                        Берете php-програмиста и натравливаете его за исходники веб-морды объясняя задачу

                        Comment

                        • Zentarim
                          Senior Member
                          • Mar 2012
                          • 526

                          #13
                          Originally posted by DeeZ
                          Нет не правильно. Схема следующая:
                          У меня через дискавери находятся интерфейсы. Создаются ЭД: In, OUT, ErrIn,ErrOUT.
                          Для каждой группы создается график. на одном графике Трафик (In\Out) на втором ошибки (ErrIn,ErrOUT).
                          Получаем, например 28х2 графиков.
                          Далее эти графики добавляются на комплексный экран. На комплексном только графики от портов конкретной железяки.


                          Но вот беда в том что теперь на каждый узел у меня создано ~60 графиков. Тк узлов около 3500 то при попытке зайти на графики (http://zabbix/charts.php) у меня валится PHP тк не может прожевать эти 200 тыс графиков (страница пытается их отобразить в выпадающем списке).

                          Добавление памяти не пмогает, тк эта попытка прожевать такой список отваливается уже по таймауту браузера.
                          Кажется понял.
                          Вообще это уже на баг самого zabbix тянет. Веб-интерфейс не должен испытывать проблем при масштабировании.
                          ПОХОЖАЯ (не такая же) проблема решалась разработчиками для вкладки "последние данные"

                          Comment

                          Working...