01 记录一次 TaskManager 中 old 被全部占用的问题

2024-02-19 15:36

本文主要是介绍01 记录一次 TaskManager 中 old 被全部占用的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

问题的上下文如下, 再给定的 flink003 节点上面的 TaskManager 节点对应的 vm old 几乎被占用完了 
另外还有一个明显的问题是 fgc 的次数明显异常, ygc 才八千次, fgc 就六千次了 ?
我们这里的主题主要是 探索一下 主要占用 old 的对象都是什么 ?, 以及一个 大致的原因 

[root@ecs-flink-003 ~]# jps
6915 WrapperSimpleApp
583516 Main
1240520 TaskManagerRunner
997810 Jps
[root@ecs-flink-003 ~]# jstat -gcutil 1240520S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT0.00   0.00  59.54  99.43  95.23  89.37   7874   41.102  5832 1268.308 1309.410
[root@ecs-flink-003 ~]# jmap -heap 1240520
Attaching to process ID 1240520, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 25.60-b23
using thread-local object allocation.
Parallel GC with 13 thread(s)
Heap Configuration:MinHeapFreeRatio         = 0MaxHeapFreeRatio         = 100MaxHeapSize              = 9374269440 (8940.0MB)NewSize                  = 3124756480 (2980.0MB)MaxNewSize               = 3124756480 (2980.0MB)OldSize                  = 6249512960 (5960.0MB)NewRatio                 = 2SurvivorRatio            = 8MetaspaceSize            = 21807104 (20.796875MB)CompressedClassSpaceSize = 1073741824 (1024.0MB)MaxMetaspaceSize         = 5494538240 (5240.0MB)G1HeapRegionSize         = 0 (0.0MB)
Heap Usage:
PS Young Generation
Eden Space:capacity = 2886729728 (2753.0MB)used     = 1718836800 (1639.2105102539062MB)free     = 1167892928 (1113.7894897460938MB)59.54269924641868% used
From Space:capacity = 19922944 (19.0MB)used     = 0 (0.0MB)free     = 19922944 (19.0MB)0.0% used
To Space:capacity = 119013376 (113.5MB)used     = 0 (0.0MB)free     = 119013376 (113.5MB)0.0% used
PS Old Generationcapacity = 6249512960 (5960.0MB)used     = 6214046888 (5926.176918029785MB)free     = 35466072 (33.823081970214844MB)99.43249862466082% used
27319 interned Strings occupying 2961728 bytes.

查找占用 old 的对象

jmap histo $pid 列出占用空间对象的 top10
可以看到的是, 整个 heap 9g, 这里 char[] 占用了 5.5g ?
接下来看一下 这都是一些什么字符串 
jmap histo $pid 列出占用空间对象的 top10 

 num     #instances         #bytes  class name
----------------------------------------------1:       1381831     5460743720  [C2:        167040     2576855560  [B3:       1180994       28343856  java.lang.String4:         87163       28120712  [I5:        625826       20026432  java.util.HashMap$Node6:        566321       18122272  java.util.ArrayList$Itr7:        401111       17644992  [Ljava.lang.Object;8:        407890       16315600  java.util.TreeMap$Entry9:         74192       10258376  [Ljava.util.HashMap$Node;10:        155426        7460448  java.util.HashMap

jmap dump 一下堆空间信息 
jhat 分析一下 char[] 的实例, 可以看到 73w 的 char[] 的 oop 

获取 top150, 可以看到 前面有 132 个占用空间为 37410664 的字符串[合计 35.6M], 随机抽取一个查看对应的 java.lang.String 的引用  

(0x6113f7818,37410664)
(0x6823e7450,37410664)
(0x6227dcf10,37410664)
(0x61c793270,37410664)
(0x6c4f400b0,37410664)
(0x5daafa468,37410664)
(0x6742d9968,37410664)
(0x5be2ccbd8,37410664)
(0x5d6262ba0,37410664)
(0x5d86294e8,37410664)
(0x6b1605990,37410664)
(0x5d3e02f48,37410664)
(0x6ad9e71b8,37410664)
(0x6b5ddd5e0,37410664)
(0x6b39cfa28,37410664)
(0x5bbdceca0,37410664)
(0x7291583b8,37410664)
(0x6be14aea0,37410664)
(0x71892fe80,37410664)
(0x6c050df58,37410664)
(0x6c290da48,37410664)
(0x6bbd0cd60,37410664)
(0x724908728,37410664)
(0x7434e53b0,37410664)
(0x7410df180,37410664)
(0x7164cb2b0,37410664)
(0x7140c61f8,37410664)
(0x726cb5e90,37410664)
(0x6068aa018,37410664)
(0x60449ed78,37410664)
(0x67dc82888,37410664)
(0x6a6c70918,37410664)
(0x759050368,37410664)
(0x5ee02fba8,37410664)
(0x756c2f0d0,37410664)
(0x5f042e668,37410664)
(0x5e44157c8,37410664)
(0x705c00000,37410664)
(0x5e67c2f30,37410664)
(0x750bb8d00,37410664)
(0x5dfbb5960,37410664)
(0x5c0f8c5a0,37410664)
(0x6ebb7eda8,37410664)
(0x5e8b70fe8,37410664)
(0x73af40540,37410664)
(0x60ba43330,37410664)
(0x6986117b0,37410664)
(0x69d9fbb20,37410664)
(0x5a5de3c58,37410664)
(0x6155b2798,37410664)
(0x68d1a4140,37410664)
(0x61795ff00,37410664)
(0x6dc95b450,37410664)
(0x646157c70,37410664)
(0x6d0948630,37410664)
(0x6ded08bb8,37410664)
(0x6485053d8,37410664)
(0x6418f83f8,37410664)
(0x6d2cf5d98,37410664)
(0x6f30f5408,37410664)
(0x6670efef0,37410664)
(0x6cc0e87a8,37410664)
(0x59fcbe430,37410664)
(0x6e10b6320,37410664)
(0x64a8b2b40,37410664)
(0x6f54a3aa0,37410664)
(0x6d50a3500,37410664)
(0x66949d760,37410664)
(0x6f789c870,37410664)
(0x66288fde0,37410664)
(0x64cc602a8,37410664)
(0x66b84aec8,37410664)
(0x5ffc3ed58,37410664)
(0x5b641a758,37410664)
(0x5b87c7ec0,37410664)
(0x74bfb1b48,37410664)
(0x6e93924d0,37410664)
(0x66e7683b0,37410664)
(0x74e35f2b0,37410664)
(0x73632ec70,37410664)
(0x6c771b818,37410664)
(0x5f3b08b80,37410664)
(0x7386dc3d8,37410664)
(0x5f82d3118,37410664)
(0x5f5ec5ca0,37410664)
(0x7092bd528,37410664)
(0x7026b3e18,37410664)
(0x7302a5180,37410664)
(0x6e6ea31d0,37410664)
(0x72de9c4a8,37410664)
(0x598295828,37410664)
(0x59a693d70,37410664)
(0x71fa52ec0,37410664)
(0x624e3fe20,37410664)
(0x71d63b2c0,37410664)
(0x67a630c70,37410664)
(0x65a217480,37410664)
(0x657e140f8,37410664)
(0x655a0a5c0,37410664)
(0x595e042c8,37410664)
(0x5ab9fd1a0,37410664)
(0x65c5d1ec0,37410664)
(0x70f1ceb80,37410664)
(0x70cdc6168,37410664)
(0x6fd5be660,37410664)
(0x63c1ab370,37410664)
(0x6781aada8,37410664)
(0x5addaa908,37410664)
(0x6331a90b0,37410664)
(0x5c8da28c0,37410664)
(0x5d05a04a0,37410664)
(0x5c6994678,37410664)
(0x5c4593380,37410664)
(0x5b0169d68,37410664)
(0x635556818,37410664)
(0x65353a8a8,37410664)
(0x637903f80,37410664)
(0x745d01058,37410664)
(0x5a34e5700,37410664)
(0x686ce2fa8,37410664)
(0x6f08d5fe8,37410664)
(0x639cb16e8,37410664)
(0x62c4964a8,37410664)
(0x6a346fc38,37410664)
(0x692c5d268,37410664)
(0x60f04a0b0,37410664)
(0x6848428b0,37410664)
(0x75b841180,37410664)
(0x68002fff0,37410664)
(0x620416630,37410664)
(0x69500a9d0,37410664)
(0x6a1002310,37410664)
(0x650fdbd00,263952)
(0x5c07c42f8,263952)
(0x6f0789308,263952)
(0x6c7381e28,263952)
(0x608f3df20,263952)
(0x650efeff8,263952)
(0x608ef4c98,263952)
(0x6f06ddef8,263952)
(0x6766d2c48,263952)
(0x5c06bf0b8,263952)
(0x70caaada0,263952)
(0x5be27f1f0,263952)
(0x608e79610,263952)
(0x6c4e1fa80,263952)
(0x5da9eed50,263952)
(0x5eb1d1400,263952)
(0x5eb144398,263952)
(0x74ad0e4e0,263952)

可以找到一个 LinkedHashMap, 其中某一个 key 为 "extract-rule.xml" 的 entry 即为我们这里的这个 大对象 

代码中 track 一下 extract-rule.xml 加载的地方, StartJobEngineApp 初始化的地方 
后面将 "extract-rule.xml" → 文件内容, transfer 到了 configFileBase64Map 里面, 对应的就是我们上面看到的这个 LinkedHashMap 

那么这个 "extract-rule.xml" 为什么会被加载 132 次呢 ? 又为什么没有被 gc 掉 ?
继续往后面看, 会看到 SOURCE, TRANSFORMATION, SINK 等几个 operator 都持有一份 "extract-rule.xml" 的内容 
也就是一个 job, 假设只有最简单的 SOURCE → 1个TRANSFORMATION → SINK 的步骤, 那么这个 "extract-rule.xml" 的内容 会被存储 4次 
这个 LinkedHashMap 是被存储在 ConfigFileObjectService 中
最开始的 usercode 中的 ConfigFileObjectService 是 classloader 加载创建的, 后面的 SOURCE/TRANSFORMATION/SINK 中的 ConfigFileObjectService  是算子需要的上下文, 由 usercode 传递过来 反序列化生成的 

以 MyFlinkKafkaConsumerXSource 为例, 看一下 这一系列引用关系  

以 TransFieldToStandardXCommand 为例, 会被封装到 PreprocessProcessFuncImpl 中与 flink 进行交互, 引用关系如下 

 

以 EsDeployDefImpXSink 为例, 看一下 这一系列引用关系  

那么 我这里的情况是从 flink 的控制台已经看不到任何的 job 了, 为什么 这些对象还被强引用了 ? 
我们回到 jmap -histo 的结果, 可以找到 35 个 com.HelloWorld.flink.common.ConfigFileObjectService 的 class, 有的有 4 个 instance, 有的有 5个, 有的有 6个 
另外还有 35 个 org.apache.flink.util.ChildFirstClassLoader 这里可以大致判断出 flink 的 job 之间的隔离大致是通过 classloader 进行隔离的 

 num     #instances         #bytes  class name
----------------------------------------------592:            35           3360  org.apache.flink.util.ChildFirstClassLoader
1724:             6            144  com.HelloWorld.flink.common.ConfigFileObjectService
1725:             6            144  com.HelloWorld.flink.common.ConfigFileObjectService
1726:             6            144  com.HelloWorld.flink.common.ConfigFileObjectService
1727:             6            144  com.HelloWorld.flink.common.ConfigFileObjectService
1728:             6            144  com.HelloWorld.flink.common.ConfigFileObjectService
1729:             6            144  com.HelloWorld.flink.common.ConfigFileObjectService
1836:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1837:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1838:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1839:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1840:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1841:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1842:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1843:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1844:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1845:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1846:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1847:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1848:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1849:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1850:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1851:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
1852:             5            120  com.HelloWorld.flink.common.ConfigFileObjectService
2068:             4             96  com.HelloWorld.flink.common.ConfigFileObjectService
2069:             4             96  com.HelloWorld.flink.common.ConfigFileObjectService
2070:             4             96  com.HelloWorld.flink.common.ConfigFileObjectService
2071:             4             96  com.HelloWorld.flink.common.ConfigFileObjectService
2072:             4             96  com.HelloWorld.flink.common.ConfigFileObjectService
2073:             4             96  com.HelloWorld.flink.common.ConfigFileObjectService
2074:             4             96  com.HelloWorld.flink.common.ConfigFileObjectService
2075:             4             96  com.HelloWorld.flink.common.ConfigFileObjectService
2076:             4             96  com.HelloWorld.flink.common.ConfigFileObjectService
2077:             4             96  com.HelloWorld.flink.common.ConfigFileObjectService
2078:             4             96  com.HelloWorld.flink.common.ConfigFileObjectService
2079:             4             96  com.HelloWorld.flink.common.ConfigFileObjectService
Total       3089420     7578685856

flink 的 /jar/$jarId/run 的执行过程

我们上面 可以大致判断出 flink 的 job 之间的隔离大致是通过 classloader 进行隔离的, 但是 还需要实锤 
flink rest api 这部分是自己基于 netty 开放的服务, 我们这里的 /jar/$jarId/run 处理请求的是 JarRunHandler 
这里我们需要关注的是当前线程是 Flink-DispatcherRestEndpoint-thread-*, 是 jobManager 创建的时候开放 Rest 服务的时候创建的一组线程池, 用于执行 XXHandler 里面的一部分异步处理 
当前线程的 contextClassloader 是一个 ChildFirstClassloader, 另外加载 mainClazz 的也是这个 ChildFirstClassloader 
这部分的代码体现也可以再这上面找到, 具体选择 classloader 也有策略控制, 这里不在赘述, 总之我们这里的情况是 选择的是 ChildFirstClassloader 

堆栈信息再往前推进一些, 可以看到 Flink-DispatcherRestEndpoint-thread-* 是执行 usercode 的时候将 contextClassloader 换成了 ChildFirstClassloader, 执行完成将 contextClassloader
 切换回去, 常见的操作 

这里可以看到 job 中 usercode 这一部分代码的执行是通过 classloader 进行隔离的 

TaskManager 这边, 同一个 jvm 同一个 job 会对应同一个 ChildFirstClassLoader, 创建是 Task 初始化的时候创建的 

为什么 job 已经执行完成了, ConfigFileObjectService 相关的对象没有被回收?
抽取一个 ConfigFileObjectService 查看一下, 引用这个对象的只有 ConfigFileObjectService.uniqueInstance, 是一个静态字段, 意味着需要回收 这个 ConfigFileObjectService  对象, 是需要卸载类 ConfigFileObjectService 
根据规范 卸载类的条件是 其对应的 classloadaer 被回收 

我们抽取一个 ChildFirstClassLoader, 来查看一下, 可以明显看到的是还有 诸多 java.lang.Thread 还引用了当前 ConfigFileObjectService 
gc 的时候, java.lang.Thread oop 本身以及其 stack 是 gc roots 的一部分, 既然这么多 alive 的 java.lang.Thread 还引用着 ChildFirstClassLoader, classloader 是被 gc 不掉 
当然 不排除其他强应用, 充分不必要 条件

一个模拟的 case

这里根据场景 模拟了一个 测试用例, 依赖的 jar为 flink-core 使用 ChildFirstClassLoader 
Test18ChildFirstClassloader 

package com.hx.test;
import org.apache.flink.util.ChildFirstClassLoader;
import java.io.File;
import java.lang.reflect.Method;
import java.net.URL;
public class Test18ChildFirstClassloader {// Test18ChildFirstClassloader// -Xmx128M -XX:+UseSerialGC -verbose:classpublic static void main(String[] args) throws Exception {File classFile = new File("D:\\WorkStations\\IdeaWorkStations\\HelloWorld\\target\\classes");URL[] classpathes = new URL[]{classFile.toURI().toURL()};// create many namespace by classloaderint namespaceCount = 50;
//        List<ChildFirstClassLoader> classloaderList = new ArrayList<>();for (int i = 0; i < namespaceCount; i++) {ChildFirstClassLoader classloader = new ChildFirstClassLoader(classpathes,Test18ChildFirstClassloader.class.getClassLoader(),new String[]{});
//            classloaderList.add(classloader);ClassLoader oldContextClassloader = Thread.currentThread().getContextClassLoader();Thread.currentThread().setContextClassLoader(classloader);try {Class clazz = classloader.loadClass("com.hx.test.Test18StaticHolder");Method method = clazz.getDeclaredMethod("main", String[].class);method.invoke(null, new Object[]{new String[]{"1", "2"}});} finally {Thread.currentThread().setContextClassLoader(oldContextClassloader);}}System.gc();System.in.read();}
}

Test18StaticHolder 

package com.hx.test;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
// Test18StaticHolder
public class Test18StaticHolder {private static Test18StaticHolder INSTANCE;public static String HOLDER = null;static {INSTANCE = new Test18StaticHolder();try {HOLDER = readContent("D:\\WorkStations\\IdeaWorkStations\\Tmp\\06_jysy_logs\\whale-client.log.0");} catch (Exception e) {e.printStackTrace();}}// Test18StaticHolderpublic static void main(String[] args) {System.out.println(" Test18StaticHolder proceed ... ");new Thread(() -> {// do bizsleep(10_000);}, "Test18StaticHolderAliveThread").start();}// readContentpublic static String readContent(String path) throws Exception {BufferedReader reader = new BufferedReader(new FileReader(new File(path)));StringBuilder sb = new StringBuilder();String line = null;while ((line = reader.readLine()) != null) {sb.append(line).append("\r\n");}return sb.toString();}// sleeppublic static void sleep(long sleepInMs) {try {Thread.sleep(sleepInMs);} catch (Exception e) {e.printStackTrace();}}
}

jmap -histo $pid

 num     #instances         #bytes  class name
----------------------------------------------1:          4418      125602984  [C2:           189         797560  [I3:          4134          99216  java.lang.String4:           842          95856  java.lang.Class5:          1391          74504  [Ljava.lang.Object;6:           156          64560  [B7:           836          33440  java.util.TreeMap$Entry8:           268          25696  [Ljava.util.HashMap$Node;9:           689          22048  java.util.HashMap$Node10:            58          21808  java.lang.Thread11:           284          18176  java.net.URL12:           168          13440  [Ljava.util.WeakHashMap$Entry;13:           272          13056  java.util.HashMap14:           231          12936  java.lang.invoke.MemberName15:           279          11160  java.lang.ref.SoftReference16:           109          10464  java.util.jar.JarFile$JarFileEntry17:           244           9760  java.util.LinkedHashMap$Entry18:           300           9600  java.util.concurrent.ConcurrentHashMap$Node19:           396           9504  java.util.LinkedList$Node20:           226           9040  java.lang.ref.Finalizer21:           252           8928  [Ljava.lang.String;22:           168           8064  java.util.WeakHashMap23:           117           7488  java.util.jar.JarFile24:           141           6768  sun.misc.URLClassPath$JarLoader25:           119           6664  sun.nio.cs.UTF_8$Encoder26:           202           6464  java.util.LinkedList27:           196           6272  java.lang.invoke.LambdaForm$Name28:           256           6144  java.lang.Long29:           244           5856  java.io.ExpiringCache$Entry30:            94           5640  [Ljava.lang.ref.SoftReference;31:           174           5568  java.lang.ref.ReferenceQueue32:           166           5312  java.util.Hashtable$Entry33:           128           5120  java.lang.invoke.MethodType34:           103           4944  java.util.zip.Inflater35:            48           4608  org.apache.flink.util.ChildFirstClassLoader36:           110           4400  java.security.AccessControlContext37:           123           4144  [Ljava.lang.Class;38:            55           4128  [Ljava.util.Hashtable$Entry;39:           129           4128  java.lang.invoke.MethodType$ConcurrentWeakInternSet$WeakEntry40:           256           4096  java.lang.Byte41:           256           4096  java.lang.Integer42:           256           4096  java.lang.Short43:           102           4080  java.security.ProtectionDomain44:           169           4056  java.util.ArrayList45:           117           3744  java.util.zip.ZipCoder46:           111           3552  java.lang.invoke.DirectMethodHandle47:           204           3264  java.lang.Object48:           102           3264  java.util.Vector49:           101           3232  java.security.CodeSource50:            68           3056  [Ljava.lang.invoke.LambdaForm$Name;51:            63           3024  java.lang.invoke.LambdaForm52:            28           2912  [Ljava.lang.invoke.MethodHandle;53:           176           2816  java.lang.ref.ReferenceQueue$Lock54:           117           2808  java.util.ArrayDeque55:            49           2744  java.lang.invoke.MethodTypeForm56:             7           2544  [Ljava.util.concurrent.ConcurrentHashMap$Node;57:            52           2496  java.util.Hashtable58:           103           2472  java.util.zip.ZStreamRef59:            50           2400  sun.misc.URLClassPath60:            96           2304  java.lang.invoke.LambdaForm$NamedFunction61:            95           2280  [Ljava.security.ProtectionDomain;62:           128           2048  java.lang.Character63:            62           1984  java.io.File64:            38           1824  sun.util.locale.LocaleObjectCache$CacheEntry65:            52           1664  java.security.Permissions66:           102           1632  [Ljava.security.Principal;67:            51           1632  java.io.FilePermission68:           102           1632  java.security.ProtectionDomain$Key69:            51           1632  java.util.Stack70:            50           1600  java.lang.invoke.BoundMethodHandle$Species_L71:            18           1440  java.lang.reflect.Constructor72:            51           1224  java.io.FilePermissionCollection73:            49           1176  sun.misc.URLClassPath$FileLoader74:            23           1104  java.nio.HeapCharBuffer75:             1           1040  [Ljava.lang.Byte;76:             1           1040  [Ljava.lang.Integer;77:             1           1040  [Ljava.lang.Long;78:             1           1040  [Ljava.lang.Short;79:             1           1040  [[C80:            26           1040  java.io.ObjectStreamField81:            27            864  com.intellij.rt.debugger.agent.CaptureAgent$InstrumentPoint82:            50            800  java.util.HashSet83:            33            792  java.lang.StringBuilder84:            19            760  sun.util.locale.BaseLocale$Key85:             9            656  [S86:             3            624  [Ljava.lang.invoke.LambdaForm;87:            19            608  java.util.Locale88:            19            608  sun.util.locale.BaseLocale89:             9            576  java.util.concurrent.ConcurrentHashMap90:            10            560  sun.invoke.util.Wrapper91:             1            528  [Ljava.lang.Character;92:            13            520  java.lang.invoke.MethodHandleImpl$IntrinsicMethodHandle93:             6            456  [Lsun.invoke.util.Wrapper;94:            19            456  java.util.Locale$LocaleKey95:            13            416  java.lang.invoke.SimpleMethodHandle96:            17            408  java.util.jar.Attributes$Name97:            10            400  java.lang.invoke.DirectMethodHandle$Accessor98:             1            384  java.lang.ref.Finalizer$FinalizerThread99:             6            384  java.nio.DirectByteBuffer100:             1            376  java.lang.ref.Reference$ReferenceHandler101:            14            336  java.lang.invoke.LambdaFormEditor$Transform$Kind102:             6            336  java.nio.DirectLongBufferU103:            10            320  java.lang.OutOfMemoryError104:            10            320  java.lang.StackTraceElement105:            13            312  java.lang.RuntimePermission106:            11            304  [Ljava.io.ObjectStreamField;107:             2            304  [Ljava.lang.Thread;108:            12            288  java.lang.invoke.Invokers109:             9            288  jdk.internal.org.objectweb.asm.Type110:            12            288  sun.misc.MetaIndex111:             8            248  [Ljava.lang.invoke.LambdaForm$BasicType;112:             6            240  [Ljava.lang.invoke.BoundMethodHandle$SpeciesData;113:             5            240  java.util.TreeMap114:             4            224  java.lang.Package115:             9            216  sun.reflect.NativeConstructorAccessorImpl116:             7            208  [Ljava.lang.invoke.LambdaForm$NamedFunction;117:             5            200  java.lang.invoke.BoundMethodHandle$SpeciesData118:             5            200  java.util.WeakHashMap$Entry119:             6            192  java.lang.invoke.LambdaForm$BasicType120:             8            192  java.lang.invoke.MethodHandleImpl$Intrinsic121:             2            176  java.lang.reflect.Method122:             7            168  java.net.NetPermission123:             4            160  java.io.FileDescriptor124:             3            144  java.nio.HeapByteBuffer125:             3            144  java.util.Properties126:             6            144  sun.misc.PerfCounter127:             9            144  sun.reflect.DelegatingConstructorAccessorImpl128:             2            128  java.io.ExpiringCache$1129:             3            120  java.lang.invoke.BoundMethodHandle$Species_LL130:             2            112  [Ljava.lang.invoke.MethodType;131:             2             96  java.lang.ThreadGroup132:             3             96  java.lang.ThreadLocal$ThreadLocalMap$Entry133:             3             96  java.security.BasicPermissionCollection134:             4             96  sun.misc.JarIndex135:             1             96  sun.misc.Launcher$AppClassLoader136:             2             96  sun.nio.cs.StreamEncoder137:             3             88  [Ljava.lang.StackTraceElement;138:             1             88  sun.misc.Launcher$ExtClassLoader139:             1             80  [Ljava.lang.ThreadLocal$ThreadLocalMap$Entry;140:             2             80  java.io.BufferedWriter141:             2             80  java.io.ExpiringCache142:             2             80  java.lang.ClassLoader$NativeLibrary143:             5             80  java.lang.ThreadLocal144:             2             80  java.lang.invoke.MethodHandleImpl$AsVarargsCollector145:             2             80  sun.nio.cs.UTF_8$Decoder146:             1             72  [Ljava.lang.invoke.LambdaFormEditor$Transform$Kind;147:             3             72  java.security.SecurityPermission148:             3             72  java.util.Collections$SynchronizedSet149:             3             72  java.util.concurrent.atomic.AtomicLong150:             2             64  [J151:             2             64  java.io.FileInputStream152:             2             64  java.io.FileOutputStream153:             2             64  java.io.PrintStream154:             2             64  java.lang.ClassValue$Entry155:             2             64  java.lang.VirtualMachineError156:             2             64  java.lang.ref.ReferenceQueue$Null157:             1             56  [[I158:             1             56  java.lang.invoke.LambdaFormEditor$Transform159:             1             56  java.net.SocketPermission160:             1             48  [Ljava.lang.invoke.MethodHandleImpl$Intrinsic;161:             2             48  java.io.BufferedOutputStream162:             1             48  java.io.BufferedReader163:             2             48  java.io.File$PathStatus164:             2             48  java.io.OutputStreamWriter165:             1             48  java.lang.ProcessEnvironment166:             1             48  java.lang.invoke.BoundMethodHandle$Species_L4167:             2             48  java.lang.invoke.MethodHandles$Lookup168:             2             48  java.lang.reflect.ReflectPermission169:             2             48  java.nio.charset.CoderResult170:             3             48  java.nio.charset.CodingErrorAction171:             2             48  java.util.Collections$SetFromMap172:             3             48  java.util.concurrent.atomic.AtomicInteger173:             2             48  sun.instrument.TransformerManager174:             2             48  sun.misc.NativeSignalHandler175:             2             48  sun.misc.Signal176:             1             48  sun.nio.cs.StreamDecoder177:             2             40  [Lsun.instrument.TransformerManager$TransformerInfo;178:             1             40  [[Ljava.lang.invoke.LambdaForm$Name;179:             1             40  java.io.BufferedInputStream180:             1             40  java.util.IdentityHashMap181:             1             40  sun.nio.cs.StandardCharsets$Aliases182:             1             40  sun.nio.cs.StandardCharsets$Cache183:             1             40  sun.nio.cs.StandardCharsets$Classes184:             1             40  sun.nio.cs.ext.ExtendedCharsets185:             1             32  [Ljava.lang.OutOfMemoryError;186:             1             32  [Ljava.lang.ThreadGroup;187:             2             32  com.intellij.rt.debugger.agent.CaptureAgent$ParamKeyProvider188:             1             32  java.io.WinNTFileSystem189:             1             32  java.lang.ArithmeticException190:             2             32  java.lang.Boolean191:             1             32  java.lang.NullPointerException192:             2             32  java.nio.ByteOrder193:             1             32  java.util.Collections$UnmodifiableMap194:             1             32  java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl195:             1             32  sun.instrument.InstrumentationImpl196:             2             32  sun.net.www.protocol.jar.Handler197:             1             32  sun.nio.cs.StandardCharsets198:             1             24  [Ljava.io.File$PathStatus;199:             1             24  [Ljava.lang.ClassValue$Entry;200:             1             24  [Ljava.net.URL;201:             1             24  [Lsun.launcher.LauncherHelper;202:             1             24  com.intellij.rt.debugger.agent.CaptureAgent$FieldKeyProvider203:             1             24  java.io.FileReader204:             1             24  java.lang.ClassValue$Version205:             1             24  java.lang.Double206:             1             24  java.lang.ThreadLocal$ThreadLocalMap207:             1             24  java.lang.invoke.MethodHandleImpl$4208:             1             24  java.lang.invoke.MethodType$ConcurrentWeakInternSet209:             1             24  java.security.AllPermissionCollection210:             1             24  java.util.BitSet211:             1             24  java.util.Collections$EmptyMap212:             1             24  java.util.Collections$UnmodifiableRandomAccessList213:             1             24  java.util.Locale$Cache214:             1             24  sun.instrument.TransformerManager$TransformerInfo215:             1             24  sun.launcher.LauncherHelper216:             1             24  sun.nio.cs.ISO_8859_1217:             1             24  sun.nio.cs.ThreadLocalCoders$1218:             1             24  sun.nio.cs.ThreadLocalCoders$2219:             1             24  sun.nio.cs.US_ASCII220:             1             24  sun.nio.cs.UTF_16221:             1             24  sun.nio.cs.UTF_16BE222:             1             24  sun.nio.cs.UTF_16LE223:             1             24  sun.nio.cs.UTF_8224:             1             24  sun.reflect.NativeMethodAccessorImpl225:             1             24  sun.util.locale.BaseLocale$Cache226:             1             16  [D227:             1             16  [F228:             1             16  [Ljava.lang.Throwable;229:             1             16  [Ljava.security.cert.Certificate;230:             1             16  [Z231:             1             16  com.hx.test.Test18StaticHolder232:             1             16  com.hx.test.Test18StaticHolder233:             1             16  com.hx.test.Test18StaticHolder234:             1             16  com.hx.test.Test18StaticHolder235:             1             16  com.hx.test.Test18StaticHolder236:             1             16  com.hx.test.Test18StaticHolder237:             1             16  com.hx.test.Test18StaticHolder238:             1             16  com.hx.test.Test18StaticHolder239:             1             16  com.hx.test.Test18StaticHolder240:             1             16  com.hx.test.Test18StaticHolder241:             1             16  com.hx.test.Test18StaticHolder242:             1             16  com.hx.test.Test18StaticHolder243:             1             16  com.hx.test.Test18StaticHolder244:             1             16  com.hx.test.Test18StaticHolder245:             1             16  com.hx.test.Test18StaticHolder246:             1             16  com.hx.test.Test18StaticHolder247:             1             16  com.hx.test.Test18StaticHolder248:             1             16  com.hx.test.Test18StaticHolder249:             1             16  com.hx.test.Test18StaticHolder250:             1             16  com.hx.test.Test18StaticHolder251:             1             16  com.hx.test.Test18StaticHolder252:             1             16  com.hx.test.Test18StaticHolder253:             1             16  com.hx.test.Test18StaticHolder254:             1             16  com.hx.test.Test18StaticHolder255:             1             16  com.hx.test.Test18StaticHolder256:             1             16  com.hx.test.Test18StaticHolder257:             1             16  com.hx.test.Test18StaticHolder258:             1             16  com.hx.test.Test18StaticHolder259:             1             16  com.hx.test.Test18StaticHolder260:             1             16  com.hx.test.Test18StaticHolder261:             1             16  com.hx.test.Test18StaticHolder262:             1             16  com.hx.test.Test18StaticHolder263:             1             16  com.hx.test.Test18StaticHolder264:             1             16  com.hx.test.Test18StaticHolder265:             1             16  com.hx.test.Test18StaticHolder266:             1             16  com.hx.test.Test18StaticHolder267:             1             16  com.hx.test.Test18StaticHolder268:             1             16  com.hx.test.Test18StaticHolder269:             1             16  com.hx.test.Test18StaticHolder270:             1             16  com.hx.test.Test18StaticHolder271:             1             16  com.hx.test.Test18StaticHolder272:             1             16  com.hx.test.Test18StaticHolder273:             1             16  com.hx.test.Test18StaticHolder274:             1             16  com.hx.test.Test18StaticHolder275:             1             16  com.hx.test.Test18StaticHolder276:             1             16  com.hx.test.Test18StaticHolder277:             1             16  com.hx.test.Test18StaticHolder278:             1             16  com.hx.test.Test18StaticHolder279:             1             16  com.hx.test.Test18StaticHolder$$Lambda$1/329611835280:             1             16  com.hx.test.Test18StaticHolder$$Lambda$10/1757676444281:             1             16  com.hx.test.Test18StaticHolder$$Lambda$11/1870647526282:             1             16  com.hx.test.Test18StaticHolder$$Lambda$12/2009787198283:             1             16  com.hx.test.Test18StaticHolder$$Lambda$13/466505482284:             1             16  com.hx.test.Test18StaticHolder$$Lambda$14/1615780336285:             1             16  com.hx.test.Test18StaticHolder$$Lambda$15/2094411587286:             1             16  com.hx.test.Test18StaticHolder$$Lambda$16/1216590855287:             1             16  com.hx.test.Test18StaticHolder$$Lambda$17/1122134344288:             1             16  com.hx.test.Test18StaticHolder$$Lambda$18/1413653265289:             1             16  com.hx.test.Test18StaticHolder$$Lambda$19/125622176290:             1             16  com.hx.test.Test18StaticHolder$$Lambda$2/1007251739291:             1             16  com.hx.test.Test18StaticHolder$$Lambda$20/342597804292:             1             16  com.hx.test.Test18StaticHolder$$Lambda$21/258754732293:             1             16  com.hx.test.Test18StaticHolder$$Lambda$22/1476394199294:             1             16  com.hx.test.Test18StaticHolder$$Lambda$23/348100441295:             1             16  com.hx.test.Test18StaticHolder$$Lambda$24/655381473296:             1             16  com.hx.test.Test18StaticHolder$$Lambda$25/1076496284297:             1             16  com.hx.test.Test18StaticHolder$$Lambda$26/1072601481298:             1             16  com.hx.test.Test18StaticHolder$$Lambda$27/1459672753299:             1             16  com.hx.test.Test18StaticHolder$$Lambda$28/1596000437300:             1             16  com.hx.test.Test18StaticHolder$$Lambda$29/1225439493301:             1             16  com.hx.test.Test18StaticHolder$$Lambda$3/853993923302:             1             16  com.hx.test.Test18StaticHolder$$Lambda$30/1845904670303:             1             16  com.hx.test.Test18StaticHolder$$Lambda$31/13329486304:             1             16  com.hx.test.Test18StaticHolder$$Lambda$32/517210187305:             1             16  com.hx.test.Test18StaticHolder$$Lambda$33/1776957250306:             1             16  com.hx.test.Test18StaticHolder$$Lambda$34/1273765644307:             1             16  com.hx.test.Test18StaticHolder$$Lambda$35/764577347308:             1             16  com.hx.test.Test18StaticHolder$$Lambda$36/422250493309:             1             16  com.hx.test.Test18StaticHolder$$Lambda$37/343965883310:             1             16  com.hx.test.Test18StaticHolder$$Lambda$38/2114650936311:             1             16  com.hx.test.Test18StaticHolder$$Lambda$39/540585569312:             1             16  com.hx.test.Test18StaticHolder$$Lambda$4/201556483313:             1             16  com.hx.test.Test18StaticHolder$$Lambda$40/828441346314:             1             16  com.hx.test.Test18StaticHolder$$Lambda$41/858242339315:             1             16  com.hx.test.Test18StaticHolder$$Lambda$42/1558712965316:             1             16  com.hx.test.Test18StaticHolder$$Lambda$43/1401132667317:             1             16  com.hx.test.Test18StaticHolder$$Lambda$44/1875308878318:             1             16  com.hx.test.Test18StaticHolder$$Lambda$45/36202360319:             1             16  com.hx.test.Test18StaticHolder$$Lambda$46/329645619320:             1             16  com.hx.test.Test18StaticHolder$$Lambda$47/1668627309321:             1             16  com.hx.test.Test18StaticHolder$$Lambda$5/731395981322:             1             16  com.hx.test.Test18StaticHolder$$Lambda$6/1282473384323:             1             16  com.hx.test.Test18StaticHolder$$Lambda$7/226710952324:             1             16  com.hx.test.Test18StaticHolder$$Lambda$8/1379435698325:             1             16  com.hx.test.Test18StaticHolder$$Lambda$9/1073502961326:             1             16  com.intellij.rt.debugger.agent.CaptureAgent$1327:             1             16  com.intellij.rt.debugger.agent.CaptureAgent$CaptureTransformer328:             1             16  com.intellij.rt.debugger.agent.CaptureStorage$1329:             1             16  java.io.FileDescriptor$1330:             1             16  java.lang.CharacterDataLatin1331:             1             16  java.lang.ClassValue$Identity332:             1             16  java.lang.Float333:             1             16  java.lang.ProcessEnvironment$EntryComparator334:             1             16  java.lang.ProcessEnvironment$NameComparator335:             1             16  java.lang.Runtime336:             1             16  java.lang.String$CaseInsensitiveComparator337:             1             16  java.lang.System$2338:             1             16  java.lang.Terminator$1339:             1             16  java.lang.Throwable$WrappedPrintStream340:             1             16  java.lang.invoke.MemberName$Factory341:             1             16  java.lang.invoke.MethodHandleImpl$2342:             1             16  java.lang.invoke.MethodHandleImpl$3343:             1             16  java.lang.ref.Reference$1344:             1             16  java.lang.ref.Reference$Lock345:             1             16  java.lang.reflect.ReflectAccess346:             1             16  java.net.URLClassLoader$7347:             1             16  java.nio.Bits$1348:             1             16  java.nio.charset.CoderResult$1349:             1             16  java.nio.charset.CoderResult$2350:             1             16  java.security.AllPermission351:             1             16  java.security.ProtectionDomain$2352:             1             16  java.security.ProtectionDomain$JavaSecurityAccessImpl353:             1             16  java.util.Collections$EmptyList354:             1             16  java.util.Collections$EmptySet355:             1             16  java.util.HashMap$EntrySet356:             1             16  java.util.HashMap$Values357:             1             16  java.util.Hashtable$EntrySet358:             1             16  java.util.IdentityHashMap$KeySet359:             1             16  java.util.LinkedHashMap$LinkedKeySet360:             1             16  java.util.WeakHashMap$KeySet361:             1             16  java.util.concurrent.atomic.AtomicBoolean362:             1             16  java.util.jar.JavaUtilJarAccessImpl363:             1             16  java.util.zip.ZipFile$1364:             1             16  sun.misc.ASCIICaseInsensitiveComparator365:             1             16  sun.misc.Launcher366:             1             16  sun.misc.Launcher$Factory367:             1             16  sun.misc.Perf368:             1             16  sun.misc.Unsafe369:             1             16  sun.net.www.protocol.file.Handler370:             1             16  sun.reflect.DelegatingMethodAccessorImpl371:             1             16  sun.reflect.ReflectionFactory
Total         22482      127186264

这篇关于01 记录一次 TaskManager 中 old 被全部占用的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/725107

相关文章

java实现延迟/超时/定时问题

《java实现延迟/超时/定时问题》:本文主要介绍java实现延迟/超时/定时问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java实现延迟/超时/定时java 每间隔5秒执行一次,一共执行5次然后结束scheduleAtFixedRate 和 schedu

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu