Can't keep up! Did the system time change, or is the server overloaded? Running 5400ms behind, skipping 108 tick(s)
也就代表某个线程跑满 tick主频不够用了。
但是得排查出具体原因,首先我们先使用htop看下CPU占用率,和主线程PID
发现占用挺高…..现在用查到的PID进入arthas里面
输入:dashboard
发现服务端主线程长时间占用率还挺高。
然后尝试几次 thread -n 2 查询占用最高的2个线程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
[arthas@307]$ thread -n 2 "Server thread" Id=20 cpuUsage=97% RUNNABLE at sun.reflect.Reflection.getCallerClass(Native Method) at java.lang.Class.getClassLoader(Class.java:683) at gregtech.common.pipelike.cable.tile.CableEnergyContainer.dispatchEnergyToNode(CableEnergyContainer.java) at gregtech.common.pipelike.cable.tile.CableEnergyContainer.acceptEnergyFromNetwork(CableEnergyContainer.java:46) at gregtech.api.capability.impl.EnergyContainerHandler.update(EnergyContainerHandler.java:150) at gregtech.api.metatileentity.MetaTileEntity.update(MetaTileEntity.java:557) at gregtech.api.metatileentity.MetaTileEntityHolder.func_73660_a(MetaTileEntityHolder.java:155) at org.spongepowered.common.event.tracking.TrackingUtil.tickTileEntity(TrackingUtil.java:237) at net.minecraft.world.WorldServer.updateTileEntity(WorldServer.java:4728) at net.minecraft.world.WorldServer.redirect$onUpdateTileEntities$zlk000(WorldServer.java:4712) at net.minecraft.world.World.func_72939_s(World.java:1838) at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:3930) at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:767) at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:397) at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:668) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:526) at java.lang.Thread.run(Thread.java:748)