2017-03-01 76 views
0

我使用WLP运行的应用程序的WebSphere服务器自由服务器启动,当我开始我的服务器在Eclipse中,我得到异常象下面这样:异常发生在日食

异常:java.lang.OutOfMemoryError从抛出的UncaughtExceptionHandler在线程 “共享的TcpChannel非阻塞接收线程”

例外:java.lang.OutOfMemoryError在线程从UncaughtExceptionHandler的抛出 “默认执行程序线程34”

例外:在线程“内核命令监听”

从UncaughtExceptionHandler的抛出java.lang.OutOfMemoryError我能够启动服务器和更早版本的主机应用程序。这现在才刚刚开始。另外,我可以为其他应用程序启动其他wlp服务器。

任何指针将不胜感激!

谢谢

回答

1

通常OOM错误本身将提供一个线索。如果您查看日志以查看异常的堆栈跟踪,则该消息可能指示无法分配哪些资源。奥姆斯可以通过运行了Java堆空间,本地空间,或系统资源被抛出 - 像线程等

有用于诊断奥姆斯,想了很多很好的资源: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/memleaks002.html

如果什么都没有改变(比如你没有改变服务器的jvm.options文件中的堆设置,或者向服务器添加一个大的新功能或应用程序),那么很可能问题来自于本身。您可能已经超出了您的操作系统的最大线程设置或超出了系统的内存(物理+交换),文件句柄等。

如果是这种情况,您应该检查以查看您的操作系统的功能即对于基于Unix系统的“ulimit -a”)并检查当前正在运行的是什么(“top”,“vmstat”等)。你可能可以调整你的ulimit设置(假设你在Mac/Linux /等上运行 - 我相信Windows有类似的设置,但我不知道它们),以允许此服务器和所有其他进程同时运行,但更有可能你需要停止运行一些进程。

希望这会有所帮助,安迪

+0

谢谢!将检查 –