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

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

发布时间: 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-09-18 21:56:12 浏览:165
安卓targz解压 发布:2025-09-18 21:45:58 浏览:802
怎么设置手机屏幕密码怎么设置 发布:2025-09-18 21:44:18 浏览:819
直线插补算法 发布:2025-09-18 21:22:49 浏览:656
矩阵内的算法 发布:2025-09-18 20:55:07 浏览:573
android网络优化 发布:2025-09-18 20:53:19 浏览:219
看交换机配置哪些是默认的 发布:2025-09-18 20:46:59 浏览:621
在钉钉上如何获取自己的密码 发布:2025-09-18 20:46:12 浏览:856
pythonifthenelse 发布:2025-09-18 20:33:19 浏览:917
热血传奇脚本怎么做 发布:2025-09-18 20:29:06 浏览:614