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

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

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

以上,祝游戏愉快!

热点内容
c语言相反数 发布:2025-01-23 22:28:55 浏览:187
压缩网课 发布:2025-01-23 22:13:19 浏览:596
网站收录源码 发布:2025-01-23 22:04:42 浏览:692
用c语言制作 发布:2025-01-23 21:49:09 浏览:951
怎么删除开机密码电脑 发布:2025-01-23 21:47:24 浏览:890
php配置伪静态 发布:2025-01-23 21:31:46 浏览:763
mud源码下载 发布:2025-01-23 21:19:46 浏览:136
反恐精英15游戏服务器ip 发布:2025-01-23 21:13:38 浏览:852
起床的战争玩什么服务器 发布:2025-01-23 21:03:06 浏览:145
企业级安卓手机防毒软件哪个好 发布:2025-01-23 20:59:28 浏览:243