Linux

執行應用程序時出現 java.lang.OutOfMemoryError

  • October 24, 2019

我在一台 linux Red Hat 機器上,並試圖執行一個啟動 java 應用程序的 shell 腳本。它昨天執行得很好,但今天我收到了這個錯誤:

Error occurred during initialization of VM
java.lang.OutOfMemoryError: unable to create new native thread
   at java.lang.Thread.start0(Native Method)
   at java.lang.Thread.start(Thread.java:714)
   at java.lang.ref.Reference.<clinit>(Reference.java:162)

免費-m

total       used       free     shared    buffers     cached
Mem:         15951      14754       1196         66        217       3208
-/+ buffers/cache:      11328       4622
Swap:        15999          0      15999

我已經對這個問題進行了大量閱讀,但我不確定如何在我的系統上解決它。這似乎是一個系統資源問題。誰能幫忙?

這對我們來說是一個很難回答的問題,因為我們不知道您的程序是做什麼的。但最重要的是,這java.lang.OutOfMemoryError通常是由您的應用程序的流量高峰或記憶體洩漏引起的。

您應該使用兩個 java 標誌來指定 Java 虛擬機的記憶體分配池:(分配的-Xmx最大記憶體)和-Xms(分配的初始記憶體)

玩弄這些數字,看看有什麼用。如果您看到java.lang.OutOfMemoryError錯誤,則只需增加記憶體數量並重新啟動您的 java 程序。

引用自:https://serverfault.com/questions/769807