当前位置:首页 » 云服务器 » 游戏服务器内存溢出怎么办

游戏服务器内存溢出怎么办

发布时间: 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,那就再调高一点,总之设置的内存够了游戏就不会有这个提示了。

以上,祝游戏愉快!

热点内容
办公室如何做数据服务器 发布:2025-07-13 15:55:24 浏览:327
用一句话证明我很穷ftp 发布:2025-07-13 15:54:48 浏览:936
安卓如何启动画面 发布:2025-07-13 15:43:22 浏览:643
安卓哪个娃娃 发布:2025-07-13 15:35:52 浏览:142
服务器列表格式错误什么意思 发布:2025-07-13 15:33:05 浏览:170
lol脚本有哪些 发布:2025-07-13 15:10:28 浏览:165
lol怎么上传囧图 发布:2025-07-13 15:09:40 浏览:90
c语言火车售票系统 发布:2025-07-13 15:06:55 浏览:391
用什么缓存视频 发布:2025-07-13 14:52:27 浏览:360
GTA5mods文件夹 发布:2025-07-13 14:52:27 浏览:53