Tomcat崩溃没有错误

时间:2014-03-12 01:11:43

标签: java tomcat crash raspberry-pi

我开发了一个非常简单的webapp,我的目标是将它部署在我运行archlinux的raspberry pi上。一旦我从tomcat运行启动脚本,serverlogs以

结束
"INFO: Server startup in 322789 ms" 

这已经很长但我认为这可能是由于覆盆子提供的低性能。无论如何,在启动阶段和服务器启动命令之后

"sudo lsof -n -P -i :8080" 

成功运行,即它向我显示正在运行侦听端口8080的进程。但是在服务器上发出一个简单的wget后,相同的命令不再显示进程,表明tomcat已崩溃。此外,tomcat的任何日志中都没有错误。实际上" localhost_access_log.xxxxx"有内容:

127.0.0.1 - - [11/Mar/2014:17:02:06 -0600] "GET /volleyball-tool-backend/index.html HTTP/1.1" 200 1068
127.0.0.1 - - [11/Mar/2014:17:02:06 -0600] "GET /volleyball-tool-backend/ HTTP/1.1" 200 1068
127.0.0.1 - - [11/Mar/2014:18:26:34 -0600] "GET /volleyball-tool-backend/ HTTP/1.1" 200 1068

表明请求已成功提供。

编辑:

我仔细检查过,服务器确实成功处理了至少一个初始请求。之后它崩溃了。

catalina.out日志的输出(一个启动周期):

Mar 11, 2014 7:36:43 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Mar 11, 2014 7:36:43 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.52
Mar 11, 2014 7:36:44 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /home/ben/servers/volleyball-tool/apache-tomcat-7.0.52/webapps/volleyball-tool-backend.war
Mar 11, 2014 7:39:08 PM org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [355] milliseconds.
Mar 11, 2014 7:39:22 PM org.glassfish.jersey.server.ApplicationHandler initialize
INFO: Initiating Jersey application, version Jersey: 2.6 2014-02-18 21:52:53...
Mar 11, 2014 7:39:36 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home/ben/servers/volleyball-tool/apache-tomcat-7.0.52/webapps/manager
Mar 11, 2014 7:39:58 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home/ben/servers/volleyball-tool/apache-tomcat-7.0.52/webapps/host-manager
Mar 11, 2014 7:40:19 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home/ben/servers/volleyball-tool/apache-tomcat-7.0.52/webapps/examples
Mar 11, 2014 7:41:11 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home/ben/servers/volleyball-tool/apache-tomcat-7.0.52/webapps/ROOT
Mar 11, 2014 7:41:33 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home/ben/servers/volleyball-tool/apache-tomcat-7.0.52/webapps/docs
Mar 11, 2014 7:41:53 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Mar 11, 2014 7:41:53 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Mar 11, 2014 7:41:53 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 311351 ms

顺便说一句:为了部署我的war文件,我在开始之前将其放入tomcat的webapps文件夹中。

编辑:

" localhost.xxxxx"的内容日志:

Mar 11, 2014 5:01:52 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Mar 11, 2014 5:01:52 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Mar 11, 2014 5:01:52 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@1f718f2')
Mar 11, 2014 6:25:43 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Mar 11, 2014 6:25:43 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Mar 11, 2014 6:25:43 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@19df57a')
Mar 11, 2014 6:38:00 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Mar 11, 2014 6:38:00 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Mar 11, 2014 6:38:00 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@1dfdee0')
Mar 11, 2014 6:55:58 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Mar 11, 2014 6:55:58 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Mar 11, 2014 6:55:59 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@162108e')
Mar 11, 2014 7:41:11 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
Mar 11, 2014 7:41:11 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
Mar 11, 2014 7:41:11 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.jasper.compiler.TldLocationsCache', 'org.apache.jasper.compiler.TldLocationsCache@162108e')

编辑:

我查看了dmesg

[12259.897659] CPU: 0 PID: 12282 Comm: java Not tainted 3.10.33-1-ARCH #1
[12259.897731] [<c0013428>] (unwind_backtrace+0x0/0xec) from [<c00112d0>] (show_stack+0x10/0x14)
[12259.897776] [<c00112d0>] (show_stack+0x10/0x14) from [<c05a1ad0>] (dump_header.isra.15+0x84/0x1c4)
[12259.897815] [<c05a1ad0>] (dump_header.isra.15+0x84/0x1c4) from [<c00b6558>] (oom_kill_process+0x278/0x3f8)
[12259.897845] [<c00b6558>] (oom_kill_process+0x278/0x3f8) from [<c00b6b6c>] (out_of_memory+0x280/0x2cc)
[12259.897877] [<c00b6b6c>] (out_of_memory+0x280/0x2cc) from [<c00babbc>] (__alloc_pages_nodemask+0x880/0x968)
[12259.897906] [<c00babbc>] (__alloc_pages_nodemask+0x880/0x968) from [<c00d2e90>] (__pte_alloc+0x20/0x180)
[12259.897936] [<c00d2e90>] (__pte_alloc+0x20/0x180) from [<c00d6000>] (handle_mm_fault+0xd8/0xf0)
[12259.897970] [<c00d6000>] (handle_mm_fault+0xd8/0xf0) from [<c05aab14>] (do_page_fault+0x26c/0x3e8)
[12259.897999] [<c05aab14>] (do_page_fault+0x26c/0x3e8) from [<c0008354>] (do_DataAbort+0x34/0x98)
[12259.898026] [<c0008354>] (do_DataAbort+0x34/0x98) from [<c05a94fc>] (__dabt_usr+0x3c/0x40)
[12259.898041] Exception stack(0xca323fb0 to 0xca323ff8)
[12259.898061] 3fa0:                                     a81fffe8 a24cd068 00000090 00000000
[12259.898082] 3fc0: 00000000 00000000 00000000 00000000 00000000 a28aaf0c b05bb570 a28aaf00
[12259.898101] 3fe0: 00000000 a18a95e4 00000000 b6de9c00 20000010 ffffffff
[12259.898112] Mem-info:
[12259.898124] Normal per-cpu:
[12259.898136] CPU    0: hi:   42, btch:   7 usd:  26
[12259.898164] active_anon:29834 inactive_anon:43 isolated_anon:0
 active_file:176 inactive_file:2050 isolated_file:0
 unevictable:0 dirty:0 writeback:0 unstable:0
 free:82664 slab_reclaimable:653 slab_unreclaimable:972
 mapped:555 shmem:95 pagetables:243 bounce:0
 free_cma:74731
[12259.898231] Normal free:330656kB min:32768kB low:40960kB high:49152kB active_anon:119336kB inactive_anon:172kB active_file:704kB inactive_file:8200kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:487424kB managed:170128kB mlocked:0kB dirty:0kB writeback:0kB mapped:2220kB shmem:380kB slab_reclaimable:2612kB slab_unreclaimable:3888kB kernel_stack:824kB pagetables:972kB unstable:0kB bounce:0kB free_cma:298924kB writeback_tmp:0kB pages_scanned:331 all_unreclaimable? yes
[12259.898248] lowmem_reserve[]: 0 0
[12259.898266] Normal: 74*4kB (UEMC) 53*8kB (EC) 43*16kB (UEM) 21*32kB (UEC) 26*64kB (UEM) 16*128kB (EMC) 13*256kB (UEMC) 10*512kB (UEMC) 3*1024kB (UEC) 3*2048kB (UMC) 75*4096kB (MRC) = 330656kB
[12259.898353] 2321 total pagecache pages
[12259.898368] 0 pages in swap cache
[12259.898379] Swap cache stats: add 0, delete 0, find 0/0
[12259.898388] Free swap  = 0kB
[12259.898396] Total swap = 0kB
[12259.929094] 121856 pages of RAM
[12259.929126] 82868 free pages
[12259.929136] 3488 reserved pages
[12259.929145] 1275 slab pages
[12259.929154] 263343 pages shared
[12259.929163] 0 pages swap cached
[12259.929174] [ pid ]   uid  tgid total_vm      rss nr_ptes swapents oom_score_adj name
[12259.929219] [   69]     0    69     4980      140      12        0             0 systemd-journal
[12259.929240] [   83]     0    83     2372       80       6        0         -1000 systemd-udevd
[12259.929260] [  106]     0   106      418       12       5        0             0 rngd
[12259.929279] [  107]     0   107     1568       96       6        0         -1000 sshd
[12259.929298] [  108]     0   108      700      127       4        0             0 crond
[12259.929320] [  110]     0   110      520       22       5        0             0 avahi-dnsconfd
[12259.929340] [  111]     0   111      435       24       4        0             0 ifplugd
[12259.929359] [  114]     0   114      639       45       5        0             0 systemd-logind
[12259.929378] [  115]    84   115      794       53       5        0             0 avahi-daemon
[12259.929397] [  116]    81   116      929       99       5        0          -900 dbus-daemon
[12259.929416] [  117]     0   117     1202      767       6        0             0 haveged
[12259.929436] [  118]    84   118      758       35       5        0             0 avahi-daemon
[12259.929455] [  123]     0   123      445       20       5        0             0 agetty
[12259.929473] [  124]     0   124      445       19       5        0             0 agetty
[12259.929523] [  234]     0   234      512       37       5        0             0 dhcpcd
[12259.929545] [  365]    89   365   127778    12469      57        0             0 mysqld
[12259.929568] [11939]     0 11939     2572      167       8        0             0 sshd
[12259.929587] [11943]     0 11943      851       66       5        0             0 systemd
[12259.929607] [11944]     0 11944     1770      273       6        0             0 (sd-pam)
[12259.929626] [11945]     0 11945      811       65       5        0             0 bash
[12259.929644] [11946]     0 11946     1094       66       6        0             0 su
[12259.929663] [11947]  1000 11947      840       78       5        0             0 bash
[12259.929701] [12280]     0 12280    99612    15513      63        0             0 java
[12259.929717] Out of memory: Kill process 12280 (java) score 127 or sacrifice child
[12259.937632] Killed process 12280 (java) total-vm:398448kB, anon-rss:60236kB, file-rss:1816kB

显然它说出了内存不足。请注意,在没有我的webapp的情况下运行默认的tomcat设置时,我也遇到此错误。我该怎么办呢?

我还完成了覆盆子的完全重置并从头开始安装了每个人:设置如下:

-RaspberryPi
-ArchlinuxARM
-OracleJVM/OpenJDK (both don't work)
-ApacheTomcat from: https://tomcat.apache.org/download-60.cgi
-MariaDB
-Maria JDBC Connector from https://downloads.mariadb.org/client-java/

我进一步捕获了atop的输出:

http://oi60.tinypic.com/dre936.jpg

注意有关交换空间的红色线。我不知道从中可以推断出什么。正如我所说,我使用&#34; Noobs&#34;进行了全新的安装。来自Raspberry网站的工具,所以我认为他们或操作系统会负责交换。

Startupsequence:sudo ./ [TOMCATDIR] /startup.sh

此致

2 个答案:

答案 0 :(得分:2)

创建交换文件就可以了。这真的是一个记忆泄漏。

答案 1 :(得分:-1)

确保已将您的应用部署到webapp目录