做网站的用处,包装设计模板,网站黑链 工具,花都网站建设哪家好Linux下java服务占用cpu过高如何处理 top命令查看进程信息 top按下shiftp,按cpu使用率排行,可见进程1932占用最高,并且是一个java服务 使用jps命令确认java服务 [rootVM-16-16-centos ~]# jps
1011 Jps
9462 yuan_back-0.0.1-SNAPSHOT.jar
1932 spigot-1.18.jar查找异常进程中…Linux下java服务占用cpu过高如何处理 top命令查看进程信息 top按下shiftp,按cpu使用率排行,可见进程1932占用最高,并且是一个java服务 使用jps命令确认java服务 [rootVM-16-16-centos ~]# jps
1011 Jps
9462 yuan_back-0.0.1-SNAPSHOT.jar
1932 spigot-1.18.jar查找异常进程中的异常线程 top -H -p [pid]将异常线程的pid转为16进制 printf %x\n pid[rootVM-16-16-centos ~]# printf %x\n 2035
7f3使用jstack定位异常线程代码 jstack [进程pid] | grep -A 10 [16进制线程pid][rootVM-16-16-centos ~]# jstack 1932 | grep -A 10 7f3
Server thread #22 prio5 os_prio0 cpu690162281.71ms elapsed4553857.35s tid0x00007ff5ee745ac0 nid0x7f3 runnable [0x00007ff6019b9000]java.lang.Thread.State: RUNNABLEat net.minecraft.world.level.block.BlockFire.a(BlockFire.java:227)at net.minecraft.world.level.block.state.BlockBase$BlockData.a(BlockBase.java:911)at net.minecraft.server.level.WorldServer.d(WorldServer.java:776)at net.minecraft.server.level.WorldServer$$Lambda$4882/0x0000000801800678.accept(Unknown Source)at net.minecraft.world.ticks.TickListServer.a(SourceFile:215)at net.minecraft.world.ticks.TickListServer.a(SourceFile:98)at net.minecraft.server.level.WorldServer.a(WorldServer.java:341)at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1300)at net.minecraft.server.dedicated.DedicatedServer.b(DedicatedServer.java:428)这样就定位到异常代码,并可以进行具体分析了