我在Docker容器中运行了很长的Java进程。如下面的日志所示,它会被内核关闭。如果没有OutOfMemory Java错误或异常,它将失败。我进入dmesg来确定它确实被内核关闭了,如何确保记录了此异常并正常关闭了进程?我想捕获该错误并引发应用程序特定的异常。 我应该使用UnCaughtErrorHandler(Java功能),然后在其中抛出应用程序特定的异常吗?
demsg -T | grep java Wed Feb 20 04:09:23 2019] [ 3281] 503 3281 654479 38824 145 0 0 java [Wed Feb 20 04:09:23 2019] [11369] 0 11369 3253416 1757772 4385 0 0 **java [Wed Feb 20 04:09:24 2019] Out of memory: Kill process 11369 (java) score 914 or sacrifice child [Wed Feb 20 04:09:24 2019] Killed process 11369 (java) total-vm:13013664kB, anon-rss:7031088kB, file-rss:0kB, shmem-rss:0kB**