2017-03-01 103 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

謝謝!將檢查 –