Ad Widget

Collapse

Заббиксу не хватает памяти.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • alp
    Member
    • Nov 2009
    • 90

    #1

    Заббиксу не хватает памяти.

    Столкнулся с проблемой перманентного падения заббикса по нехватке памяти... Хочу мониторить 16к свитчей, но заббиксу не хватает памяти и он падает.

    Когда указываю большой лимит в конфиге заббикса:

    mon3 scripts # grep -i cache /etc/zabbix/zabbix_server.conf
    CacheSize=1G
    HistoryCacheSize=16M
    HistoryTextCacheSize=2M
    TrendCacheSize=64M

    Падает потому что система не даёт выделить столько, хотя на сервере 8 гигов памяти:
    30780:20120514:130456.478 ******************************
    30780:20120514:130456.483 cannot allocate shared memory of size 912680551: [22] Invalid argument
    30780:20120514:130456.483 cannot allocate shared memory for configuration cache


    Когда занижаешь лимит, до допустимых системой 1G - 912680551B = примерно 88 метров. Для уверенности ставлю лимит CacheSize=50M
    Заббикс долго думает после старта, но всёравно падает:

    32235:20120514:133543.251 server #8 started [unreachable poller #1]
    32229:20120514:133543.257 server #3 started [poller #1]
    32230:20120514:133543.261 server #4 started [poller #2]
    32231:20120514:133543.268 server #5 started [poller #3]
    32227:20120514:133603.931 __mem_malloc: skipped 0 asked 40 skip_min 4294967295 skip_max 0
    32227:20120514:133603.931 [file:dbconfig.c,line:1293] zbx_mem_malloc(): out of memory (requested 40 bytes)
    32227:20120514:133603.931 [file:dbconfig.c,line:1293] zbx_mem_malloc(): please increase CacheSize configuration parameter
    31137:20120514:133604.056 One child process died (PID:32227,exitcode/signal:255). Exiting ...
    31137:20120514:133606.060 syncing history data...
    31137:20120514:133606.060 syncing history data done
    31137:20120514:133606.060 syncing trends data...
    31137:20120514:133606.060 syncing trends data done
    31137:20120514:133606.060 Zabbix Server stopped. Zabbix 1.8.10 (revision 24303).


    Как быть? Какие системные лимиты поднимать? Система gentoo c grsecurity.
  • zalex_ua
    Senior Member
    Zabbix Certified Trainer
    Zabbix Certified SpecialistZabbix Certified Professional
    • Oct 2009
    • 1286

    #2
    In the past, quite often Zabbix users have been puzzled regarding some server tuning parameters – for example, how many pollers do they need? It was usually determined based on experience, testing and a bit of guesstimating. No more fuzzy attempts – get hard facts with Zabbix 1.8.5. UPDATED 2011.11.02: new downloadable template version v2 […]

    Статистику кешей в студию
    и читаем:
    Join the friendly and open Zabbix community on our forums and social media platforms.

    Comment

    • alp
      Member
      • Nov 2009
      • 90

      #3
      Почитал второй линк, ничего нового не узнал, с этими же параметрами в первую очередь игрался, но результатов не получил, на данный момент они таковы:

      mon3 / # sysctl -a | grep shm
      kernel.grsecurity.chroot_deny_shmat = 1
      kernel.shmmax = 204800000
      kernel.shmall = 40960000
      kernel.shmmni = 4096

      Первый линк пока изучаю, ибо с английским не так хорошо как с русским, а буков там гораздо больше =)

      Comment

      • zalex_ua
        Senior Member
        Zabbix Certified Trainer
        Zabbix Certified SpecialistZabbix Certified Professional
        • Oct 2009
        • 1286

        #4
        У вас цифры в первом и во втором посте не вяжутся.
        В первом посте вообще много противоречивого из описания.
        Рекомендую внимательно разобраться.

        Comment

        • alp
          Member
          • Nov 2009
          • 90

          #5
          Можно подробнее что именно не вяжется?
          В первом сообщении я рассматривал два варианта директивы CacheSize, а того что указано во втором сообщении вообще небыло в первом.

          Comment

          • sergo
            Member
            • Dec 2009
            • 99

            #6
            Originally posted by alp
            Можно подробнее что именно не вяжется?
            В первом сообщении я рассматривал два варианта директивы CacheSize, а того что указано во втором сообщении вообще небыло в первом.
            ну чего уж проще, все на виду же...
            читайте первую вами же выложенную в логе ошибку
            cannot allocate shared memory of size 912680551: [22] Invalid argument
            а теперь посмотрите на параметры ядра, в частности на максимально возможный размер шаредмемори
            увеличте параметры ядра (не забудте кстати согласовать этот момент и с параметрами базы данных которую используете)

            Comment

            • alp
              Member
              • Nov 2009
              • 90

              #7
              Я вижу из ошибки, что удалось выделить только 82 мегабайта из затребованного гига, в то же время я показываю, что лимит у меня явно выше 82 метров или Вы иначе посчитали 204800000? По мне так это больше 200 метров, а если учесть, что это размер одного из 4096 блоков(как я понял) так и того получается что-то около 800 гигов...

              А фразы типа "ну чего уж проще, все на виду же..." прощу на техническом форуме не употреблять, поскольку у всех совершенно разный уровень знаний и для одного какие-то вещи очевидны, а для другого нет! Как минимум требуется подтверждение такой фразы, которую каждый может написать. Мне вот очевидно, что я поднял лимиты на столько что не должен в них упираться. Если у кого-то иное мнение, просьба АРГУМЕНТИРОВАННО его изложить.
              Last edited by alp; 18-05-2012, 14:22.

              Comment

              • mkolomiets
                Senior Member
                • Jul 2009
                • 134

                #8
                Originally posted by alp
                Я вижу из ошибки, что удалось выделить только 82 мегабайта из затребованного гига, в то же время я показываю, что лимит у меня явно выше 82 метров или Вы иначе посчитали 204800000? По мне так это больше 200 метров, а если учесть, что это размер одного из 4096 блоков(как я понял) так и того получается что-то около 800 гигов...
                Если не подводит меня память, то shmmax указывается в байтах, а shmall задается в страницах.
                В вашем случае значение shmmax не обеспечивает параметров памяти забикс-сервера. Так же shmall, подозреваю, превышает объем физической памяти, что тоже не есть хорошо. Попробуйте задать shmmax 1073741824 (1024*1024*1024), а shmall = 262144 (shmmax/4096), что бы не было противоречий.

                Comment

                Working...