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

相关文章

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

Springboot如何正确使用AOP问题

《Springboot如何正确使用AOP问题》:本文主要介绍Springboot如何正确使用AOP问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录​一、AOP概念二、切点表达式​execution表达式案例三、AOP通知四、springboot中使用AOP导出

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

IDEA Maven提示:未解析的依赖项的问题及解决

《IDEAMaven提示:未解析的依赖项的问题及解决》:本文主要介绍IDEAMaven提示:未解析的依赖项的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录IDEA Maven提示:未解析的依编程赖项例如总结IDEA Maven提示:未解析的依赖项例如

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模