Tomcat si blocca dopo poche ore

Sto eseguendo un OS CentOS 6.5 a 64 bit con Tomcat e un'applicazione web. Utilizzo Apache (httpd) come proxy inverso (ProxyPass) all'applicazione. Fino a poco tempo fa (Tomcat) ha funzionato bene senza schiantarsi. Recentemente, ho aggiunto un sito Joomla e PHP (ovviamente) al server http. Fu subito dopo where ho cominciato ad arrestare Tomcat.

Quando si blocca, Tomcat non lascia prove nella Catalina.out . Ho finalmente trovato l'output in /var/log/messages . Speravo che qualcuno potesse avere uno sguardo superficiale e indicarmi nella giusta direzione:

  • Come determinare la versione Java necessaria per diverse versioni di DRACs
  • Controllo SSL Priorità / Ordine per Tomcat per evitare l'attacco BEAST
  • Perché un segnale SIGHUP a httpd uccide il process tomcat?
  • Apache come inversa-proxy per tomcat (jenkins in esecuzione)
  • Tomcat negazione del servizio
  • Come ridurre la memory utilizzata da Tomcat?
  • ============

     Jul 23 01:19:31 myservername kernel: httpd invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0 Jul 23 01:19:31 myservername kernel: httpd cpuset=/ mems_allowed=0 Jul 23 01:19:31 myservername kernel: Pid: 6104, comm: httpd Not tainted 2.6.32-431.1.2.0.1.el6.x86_64 #1 Jul 23 01:19:31 myservername kernel: Call Trace: Jul 23 01:19:31 myservername kernel: [<ffffffff810d05c1>] ? cpuset_print_task_mems_allowed+0x91/0xb0 Jul 23 01:19:31 myservername kernel: [<ffffffff81122970>] ? dump_header+0x90/0x1b0 Jul 23 01:19:31 myservername kernel: [<ffffffff8122799c>] ? security_real_capable_noaudit+0x3c/0x70 Jul 23 01:19:31 myservername kernel: [<ffffffff81122df2>] ? oom_kill_process+0x82/0x2a0 Jul 23 01:19:31 myservername kernel: [<ffffffff81122d31>] ? select_bad_process+0xe1/0x120 Jul 23 01:19:31 myservername kernel: [<ffffffff81123230>] ? out_of_memory+0x220/0x3c0 Jul 23 01:19:31 myservername kernel: [<ffffffff8112fb4c>] ? __alloc_pages_nodemask+0x8ac/0x8d0 Jul 23 01:19:31 myservername kernel: [<ffffffff81167aaa>] ? alloc_pages_current+0xaa/0x110 Jul 23 01:19:31 myservername kernel: [<ffffffff8111fd67>] ? __page_cache_alloc+0x87/0x90 Jul 23 01:19:31 myservername kernel: [<ffffffff8111f74e>] ? find_get_page+0x1e/0xa0 Jul 23 01:19:31 myservername kernel: [<ffffffff81120d07>] ? filemap_fault+0x1a7/0x500 Jul 23 01:19:31 myservername kernel: [<ffffffff8114a094>] ? __do_fault+0x54/0x530 Jul 23 01:19:31 myservername kernel: [<ffffffff8114a667>] ? handle_pte_fault+0xf7/0xb00 Jul 23 01:19:31 myservername kernel: [<ffffffff811214a0>] ? generic_file_aio_read+0x380/0x700 Jul 23 01:19:31 myservername kernel: [<ffffffff8114b29a>] ? handle_mm_fault+0x22a/0x300 Jul 23 01:19:31 myservername kernel: [<ffffffff8104a8d8>] ? __do_page_fault+0x138/0x480 Jul 23 01:19:31 myservername kernel: [<ffffffff8100988e>] ? __switch_to+0x26e/0x320 Jul 23 01:19:31 myservername kernel: [<ffffffff81527920>] ? thread_return+0x4e/0x76e Jul 23 01:19:31 myservername kernel: [<ffffffff8152d46e>] ? do_page_fault+0x3e/0xa0 Jul 23 01:19:31 myservername kernel: [<ffffffff8152a825>] ? page_fault+0x25/0x30 Jul 23 01:19:31 myservername kernel: Mem-Info: Jul 23 01:19:31 myservername kernel: Node 0 DMA per-cpu: Jul 23 01:19:31 myservername kernel: CPU 0: hi: 0, btch: 1 usd: 0 Jul 23 01:19:31 myservername kernel: Node 0 DMA32 per-cpu: Jul 23 01:19:31 myservername kernel: CPU 0: hi: 186, btch: 31 usd: 30 Jul 23 01:19:31 myservername kernel: active_anon:112069 inactive_anon:56 isolated_anon:0 Jul 23 01:19:31 myservername kernel: active_file:17 inactive_file:465 isolated_file:0 Jul 23 01:19:31 myservername kernel: unevictable:0 dirty:1 writeback:0 unstable:0 Jul 23 01:19:31 myservername kernel: free:1181 slab_reclaimable:1556 slab_unreclaimable:5516 Jul 23 01:19:31 myservername kernel: mapped:78 shmem:58 pagetables:2575 bounce:0 Jul 23 01:19:31 myservername kernel: Node 0 DMA free:2040kB min:84kB low:104kB high:124kB active_anon:13500kB inactive_anon:0kB active_file:12kB inactive_file:12kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15352kB mlocked:0kB dirty:0kB writeback:0kB mapped:24kB shmem:0kB slab_reclaimable:40kB slab_unreclaimable:76kB kernel_stack:16kB pagetables:48kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:6 all_unreclaimable? no Jul 23 01:19:31 myservername kernel: lowmem_reserve[]: 0 489 489 489 Jul 23 01:19:31 myservername kernel: Node 0 DMA32 free:2684kB min:2784kB low:3480kB high:4176kB active_anon:434776kB inactive_anon:224kB active_file:56kB inactive_file:1848kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:500948kB mlocked:0kB dirty:4kB writeback:0kB mapped:288kB shmem:232kB slab_reclaimable:6184kB slab_unreclaimable:21988kB kernel_stack:944kB pagetables:10252kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:130 all_unreclaimable? yes Jul 23 01:19:31 myservername kernel: lowmem_reserve[]: 0 0 0 0 Jul 23 01:19:31 myservername kernel: Node 0 DMA: 0*4kB 1*8kB 1*16kB 1*32kB 1*64kB 1*128kB 1*256kB 1*512kB 1*1024kB 0*2048kB 0*4096kB = 2040kB Jul 23 01:19:31 myservername kernel: Node 0 DMA32: 193*4kB 1*8kB 1*16kB 1*32kB 1*64kB 0*128kB 1*256kB 1*512kB 1*1024kB 0*2048kB 0*4096kB = 2684kB Jul 23 01:19:31 myservername kernel: 547 total pagecache pages Jul 23 01:19:31 myservername kernel: 0 pages in swap cache Jul 23 01:19:31 myservername kernel: Swap cache stats: add 0, delete 0, find 0/0 Jul 23 01:19:31 myservername kernel: Free swap = 0kB Jul 23 01:19:31 myservername kernel: Total swap = 0kB Jul 23 01:19:31 myservername kernel: 131068 pages RAM Jul 23 01:19:31 myservername kernel: 5503 pages reserved Jul 23 01:19:31 myservername kernel: 13454 pages shared Jul 23 01:19:31 myservername kernel: 119917 pages non-shared Jul 23 01:19:31 myservername kernel: [ pid ] uid tgid total_vm rss cpu oom_adj oom_score_adj name Jul 23 01:19:31 myservername kernel: [ 325] 0 325 2727 168 0 -17 -1000 udevd Jul 23 01:19:31 myservername kernel: [ 602] 0 602 2726 167 0 -17 -1000 udevd Jul 23 01:19:31 myservername kernel: [ 878] 0 878 23300 78 0 -17 -1000 auditd Jul 23 01:19:31 myservername kernel: [ 894] 0 894 62368 729 0 0 0 rsyslogd Jul 23 01:19:31 myservername kernel: [ 1027] 0 1027 29325 153 0 0 0 crond Jul 23 01:19:31 myservername kernel: [ 1050] 0 1050 1016 21 0 0 0 mingetty Jul 23 01:19:31 myservername kernel: [ 1052] 0 1052 1016 22 0 0 0 mingetty Jul 23 01:19:31 myservername kernel: [ 1054] 0 1054 1016 22 0 0 0 mingetty Jul 23 01:19:31 myservername kernel: [ 1056] 0 1056 1016 22 0 0 0 mingetty Jul 23 01:19:31 myservername kernel: [ 1058] 0 1058 1016 21 0 0 0 mingetty Jul 23 01:19:31 myservername kernel: [ 1189] 38 1189 7679 158 0 0 0 ntpd Jul 23 01:19:31 myservername kernel: [19331] 99 19331 11317 405 0 0 0 openvpn Jul 23 01:19:31 myservername kernel: [19336] 0 19336 2726 167 0 -17 -1000 udevd Jul 23 01:19:31 myservername kernel: [27296] 0 27296 16652 178 0 -17 -1000 sshd Jul 23 01:19:31 myservername kernel: [29754] 0 29754 1016 22 0 0 0 mingetty Jul 23 01:19:31 myservername kernel: [14500] 0 14500 20321 226 0 0 0 master Jul 23 01:19:31 myservername kernel: [14503] 89 14503 20384 233 0 0 0 qmgr Jul 23 01:19:31 myservername kernel: [ 3155] 0 3155 27042 66 0 0 0 mysqld_safe Jul 23 01:19:31 myservername kernel: [ 3257] 27 3257 160134 4405 0 0 0 mysqld Jul 23 01:19:31 myservername kernel: [ 6102] 0 6102 76169 1432 0 0 0 httpd Jul 23 01:19:31 myservername kernel: [ 6104] 48 6104 104399 5480 0 0 0 httpd Jul 23 01:19:31 myservername kernel: [ 6105] 48 6105 104565 5583 0 0 0 httpd Jul 23 01:19:31 myservername kernel: [ 6106] 48 6106 104301 5322 0 0 0 httpd Jul 23 01:19:31 myservername kernel: [ 6107] 48 6107 104630 5682 0 0 0 httpd Jul 23 01:19:31 myservername kernel: [ 6108] 48 6108 104491 5570 0 0 0 httpd Jul 23 01:19:31 myservername kernel: [ 6109] 48 6109 104563 5570 0 0 0 httpd Jul 23 01:19:31 myservername kernel: [ 6110] 48 6110 104546 5639 0 0 0 httpd Jul 23 01:19:31 myservername kernel: [ 6111] 48 6111 104362 5469 0 0 0 httpd Jul 23 01:19:31 myservername kernel: [ 6171] 48 6171 101911 3019 0 0 0 httpd Jul 23 01:19:31 myservername kernel: [ 6186] 48 6186 101530 2632 0 0 0 httpd Jul 23 01:19:31 myservername kernel: [ 6522] 48 6522 104451 5479 0 0 0 httpd Jul 23 01:19:31 myservername kernel: [ 6835] 501 6835 317935 55623 0 0 0 java Jul 23 01:19:31 myservername kernel: [ 7422] 48 7422 104365 5444 0 0 0 httpd Jul 23 01:19:31 myservername kernel: [ 7656] 89 7656 20341 220 0 0 0 pickup Jul 23 01:19:31 myservername kernel: Out of memory: Kill process 6835 (java) score 444 or sacrifice child Jul 23 01:19:31 myservername kernel: Killed process 6835, UID 501, (java) total-vm:1271740kB, anon-rss:222432kB, file-rss:60kB 

    ============

    Ho già sollevato le impostazioni di heap dall'impostazione predefinita, ma questo non ha aiutato:

     -Xms256m -Xmx512m 

    Suppongo che la giusta direzione è iniziare a profilare / monitorare il JVM con uno degli strumenti che viene fornito con il JDK / JRE e vedere where è la perdita. È solo strano che non ho mai avuto questo problema prima di sfidare con il nuovo sito Joomla. Non ho familiarità con il profilo / monitoraggio, quindi apprezzerò i suggerimenti su quale strumento da utilizzare per la mia particolare situazione, data l'inclusione dello snippet di file di log.

    2 Solutions collect form web for “Tomcat si blocca dopo poche ore”

    Sembra che non esiste più memory disponibile per l'utilizzo sul sistema. Controlla se hai la memory di swap sul tuo sistema con il command sotto

     free -m 

    l'output dovrebbe essere come di seguito se è abilitato lo swap.

      total used free shared buffers cached Mem: 1876 1798 77 0 119 1440 -/+ buffers/cache: 237 1638 Swap: 4607 0 4607 

    Se non riesci a vedere il file di scambio, devi creare il file di scambio. Ecco una guida per creare e abilitare lo swapfile.

    http://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/

    Inoltre è ansible configurare javamelody con l'applicazione tomcat per identificare i problemi con l'applicazione tomcat

    Ecco la causa:

     Jul 23 01:19:31 myservername kernel: [<ffffffff81122df2>] ? oom_kill_process+0x82/0x2a0 

    Non c'è abbastanza ram. oom_kill_process è la function del kernel che uccide alcuni processi se non c'è abbastanza ram. Qualcosa sembra perdere, o hai poca memory. Il tuo swap è veramente abilitato e funzionante? ( cat /proc/swaps ).

    Estensione: alcuni dicono che triggersre lo scambio rende il sistema più lento. Che è falso , non credo, vedere il mio commento.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.