这里整理了联机侠控制台的几种常见问题,主要为控制台显示的几种报错输出。
联机侠控制台常见问题
一、进程句柄严重泄露
问题描述
发现控制台存在如下提示:
[控制台] 健康检查: 进程句柄严重泄露, 进程终止
[控制台] 问题提示: 可能部分插件或模组存在BUG,请检查最近加入的插件或模组,尝试去掉或更换接近版本进行测试
显示完之后,最终进程终止。
问题原因
联机侠后台容器有设置最大进程句柄上限,一般是一个特别大的数值,远远高于正常进程能达到的数值,一旦一个Java进程长时间产生大量系统资源泄露,就有可能超过该数值,容器会自动终止。
问题排查
由于MC是开放式设计,能引发此问题的,大多是存在Bug的插件或模组,以及它们的前置的搭配不当。要排查此问题,先检查其版本是否与MC核心一致,以及他们的前置版本是否一致。可以优先去除最近加入的最近模组或插件,或者改为略高或略低的接近版本,重启服务器后测试。其次,部分模组的个别物品可能存在问题,此种情况需要对模组使用情况有很深入的了解才能排查。
二、线程严重泄露
问题描述
发现控制台存在如下提示:
[控制台] 健康检查: 线程严重泄露, 进程终止
显示完之后,最终进程终止。
问题原因
联机侠后台容器有设置最大线程上限,一般远远高于正常MC服务器会使用到的上限,一旦一个Java不断创建线程且不退出,就有可能超过该数值,容器会自动终止。
问题排查
排查方法与上一个问题相同。
三、日志文件超出极限
问题描述
发现控制台存在如下提示:
[控制台] 健康检查: 日志文件超出极限
显示完之后,最终进程终止。
问题原因
正常情况下,MC服务器产生的日志文件并不太大,对磁盘IO以及空间占用微不足道,但部分插件或模组,在出错时可能高速输出巨量错误日志,不仅无可读性,且严重拖累容器IO,地图与玩家数据将无法保存。联机侠后台定时检测日志文件异常,控制台会有警告提醒,服主此时可以及时关注并修复,如果问题继续扩大到特别严重,IO被完全填满,进程将被判定为无限死锁而强制终止。
问题排查
排查此类问题,可以将重心放在具体错误提示上,一般是加入了联动模组,而其中一个模组的版本,和另外模组不兼容,大量抛出某类不存在的异常,此时可以降低或升高其中一个模组的版本,协调版本到一致状态。