[原创] wildfly 部署应用时出错原因调查

最近在使用 wildfly 部署应用时出错,导致 wildfly 服务直接被 killed,感觉特别奇怪。代码肯定是没有问题的,但为什么放到服务器上就出错了呢。
部署时报错如下:

1
Failed to add the deployment content to the repository: java.util.concurrent.CancellationException: Operation was cancelled

wildfly 报错如下:

1
./standalone.sh: line 307: 12526 Killed

一时还真看不出是什么毛病。
于是使用 dmesg 查找原因,终于找到了原因:

1
2
3
4
# dmesg | tail
[1147898.706546] Out of memory: Kill process 12526 (java) score 399 or sacrifice child
[1147898.710393] Killed process 12526 (java) total-vm:2559448kB, anon-rss:403304kB, file-rss:780kB, shmem-rss:0kB
[1147898.738479] oom_reaper: reaped process 12526 (java), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB

原来是因为内存不足导致了。我使用的服务器内存只有 1G,上面跑了很多的服务,因此可以内存并不大,所以才出了问题。
参考文献:
https://issues.jboss.org/browse/JBTM-1623

坚持原创及高品质技术分享,您的支持将鼓励我继续创作!