當前位置:首頁 » 雲伺服器 » 游戲伺服器內存溢出怎麼辦

游戲伺服器內存溢出怎麼辦

發布時間: 2023-12-25 11:22:32

㈠ 伺服器內存溢出怎麼解決

1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出

JVM在啟動的時候會自動設置JVM Heap的值,其初始空間(即-Xms)是物理內存的1/64,最大空間(-Xmx)不可超過物理內存。

可以利用JVM提供的-Xmn -Xms -Xmx等選項可進行設置。Heap的大小是Young GenerationTenured Generaion之和。

在JVM中如果98%的時間是用於GC,且可用的Heap size不足2%的時候將拋出此異常信息。

解決方法:手動設置JVM Heap(堆)的大小。  

 

2. java.lang.OutOfMemoryError: PermGen space  ---- PermGen space溢出。 

PermGen space的全稱是Permanent Generation space,是指內存的永久保存區域。

為什麼會內存溢出,這是由於這塊內存主要是被JVM存放Class和Meta信息的,Class在被Load的時候被放入PermGen space區域,它和存放Instance的Heap區域不同,sun的 GC不會在主程序運行期對PermGen space進行清理,所以如果你的APP會載入很多CLASS的話,就很可能出現PermGen space溢出。

解決方法: 手動設置MaxPermSize大小

3. java.lang.StackOverflowError   ---- 棧溢出

棧溢出了,JVM依然是採用棧式的虛擬機,這個和C和Pascal都是一樣的。函數的調用過程都體現在堆棧和退棧上了。

調用構造函數的 「層」太多了,以致於把棧區溢出了。

通常來講,一般棧區遠遠小於堆區的,因為函數調用過程往往不會多於上千層,而即便每個函數調用需要 1K的空間(這個大約相當於在一個C函數內聲明了256個int類型的變數),那麼棧區也不過是需要1MB的空間。通常棧的大小是1-2MB的。

通常遞歸也不要遞歸的層次過多,很容易溢出。

解決方法:修改程序。

我的世界進游戲伺服器會顯示 out of memory

out of memory是內存溢出,也就是內存不夠用的意思,把分配給java的內存設置高一點就能解決這個問題。

我發的這個圖片是用HMCL啟動器設置分配給java的內存的步驟,如果你沒有HMCL啟動器可以去下載一個,官網地址:hmcl.huangyuhui.net,把下載後的啟動器程序跟客戶端的.minecraft文件夾放置一起(同一目錄下),然後打開它你就會看到像我圖里這個界面了。

在圖二里畫橫線的地方的數字設置高一點,我這里是1024MB,也就是1G,如果你已經是這個數值了,那麼你可以高一些,只要不超過左邊寫的「物理內存大小」的數值就好。

設置好後開游戲如果還是out of memory,那就再調高一點,總之設置的內存夠了游戲就不會有這個提示了。

以上,祝游戲愉快!

熱點內容
mud源碼下載 發布:2025-01-23 21:19:46 瀏覽:134
反恐精英15游戲伺服器ip 發布:2025-01-23 21:13:38 瀏覽:850
起床的戰爭玩什麼伺服器 發布:2025-01-23 21:03:06 瀏覽:141
企業級安卓手機防毒軟體哪個好 發布:2025-01-23 20:59:28 瀏覽:243
資料庫精美 發布:2025-01-23 20:37:05 瀏覽:235
mysql怎麼編譯驅動 發布:2025-01-23 20:35:15 瀏覽:467
修改資料庫的語句是 發布:2025-01-23 20:26:17 瀏覽:762
linuxping域名 發布:2025-01-23 20:24:34 瀏覽:479
神經網路演算法應用 發布:2025-01-23 20:18:36 瀏覽:219
冒險島按鍵精靈腳本下載 發布:2025-01-23 19:46:50 瀏覽:751