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

相关文章

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

mysql主从及遇到的问题解决

《mysql主从及遇到的问题解决》本文详细介绍了如何使用Docker配置MySQL主从复制,首先创建了两个文件夹并分别配置了`my.cnf`文件,通过执行脚本启动容器并配置好主从关系,文中还提到了一些... 目录mysql主从及遇到问题解决遇到的问题说明总结mysql主从及遇到问题解决1.基于mysql

电脑多久清理一次灰尘合? 合理清理电脑上灰尘的科普文

《电脑多久清理一次灰尘合?合理清理电脑上灰尘的科普文》聊起电脑清理灰尘这个话题,我可有不少话要说,你知道吗,电脑就像个勤劳的工人,每天不停地为我们服务,但时间一长,它也会“出汗”——也就是积累灰尘,... 灰尘的堆积几乎是所有电脑用户面临的问题。无论你的房间有多干净,或者你的电脑是否安装了灰尘过滤器,灰尘都

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

如何安装HWE内核? Ubuntu安装hwe内核解决硬件太新的问题

《如何安装HWE内核?Ubuntu安装hwe内核解决硬件太新的问题》今天的主角就是hwe内核(hardwareenablementkernel),一般安装的Ubuntu都是初始内核,不能很好地支... 对于追求系统稳定性,又想充分利用最新硬件特性的 Ubuntu 用户来说,HWEXBQgUbdlna(Har

MAVEN3.9.x中301问题及解决方法

《MAVEN3.9.x中301问题及解决方法》本文主要介绍了使用MAVEN3.9.x中301问题及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录01、背景02、现象03、分析原因04、解决方案及验证05、结语本文主要是针对“构建加速”需求交