1.先进入容器里面
查看启动的docker服务
docker ps
[root@isfZ /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
56d4ff5d9b42 registry.cn-hangzhou.aliyuncs.com/gongsi/temp-system "/bin/sh -c 'nginx &…" 2 days ago Up 2 days k8s_temp-system-backend-7dd579558d-dvzqq_default_583735b7-8236-11eb-9f1c-7a7345fe2cea_0
2a2b4051fa20 registry-vpc.cn-shenzhen.aliyuncs.com/acs/pause-amd64:3.0 "/pause" 2 days ago Up 2 days k8s_POD_temp-system-7dd579558d-dvzqq_default_583735b7-8236-11eb-9f1c-7a7345fe2cea_0
2f033580dbeb d812dd5dcd96 "/alibabacloud-log-c…" 3 days ago Up 3 days k8s_alibaba-log-controller_alibaba-log-controller-6dd6df9f99-dlxqk_kube-system_512bf944-2931-11eb-aecb-5e323c7f9cc0_12
执行下面命令后,可进入容器正常使用命令
docker exec -it 56d4ff5d9b42 /bin/sh
2.进入容器后可以执行java相关命令
想看java运行的进程id
# jps
354 Jps
9 jar
jstack跟踪进程9的线程栈信息,可以看到服务器在GC中
# jstack 9
。。。。。。//省略
"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007f0db01cf000 nid=0x1b in Object.wait() [0x00007f0d83ffe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
- locked <0x000000008008d888> (a java.lang.ref.Reference$Lock)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)
"VM Thread" os_prio=0 tid=0x00007f0db01c7800 nid=0x1a runnable
"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007f0db001f800 nid=0x12 runnable
"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007f0db0021800 nid=0x13 runnable
"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007f0db0023000 nid=0x14 runnable
"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007f0db0025000 nid=0x15 runnable
"GC task thread#4 (ParallelGC)" os_prio=0 tid=0x00007f0db0026800 nid=0x16 runnable
"GC task thread#5 (ParallelGC)" os_prio=0 tid=0x00007f0db0028800 nid=0x17 runnable
"GC task thread#6 (ParallelGC)" os_prio=0 tid=0x00007f0db002a000 nid=0x18 runnable
"GC task thread#7 (ParallelGC)" os_prio=0 tid=0x00007f0db002c000 nid=0x19 runnable
"VM Periodic Task Thread" os_prio=0 tid=0x00007f0db0227000 nid=0x23 waiting on condition
JNI global references: 1566
查看有多少对象产生,下面打印前20
# jmap -histo 9|head -20
num #instances #bytes class name
----------------------------------------------
1: 259395 399538552 [I
2: 2158340 150000928 [C
3: 354763 64166960 [B
4: 938923 37556920 java.util.TreeMap$Entry
5: 1434782 34434768 java.lang.String
6: 340805 14009864 [Ljava.lang.Object;
7: 96610 7704624 [Ljava.util.HashMap$Node;
8: 80368 7072384 java.lang.reflect.Method
9: 102168 6538752 java.util.regex.Matcher
10: 185669 5941408 java.util.HashMap$Node
11: 110001 5280048 java.nio.HeapByteBuffer
12: 131220 5248800 java.util.HashMap$KeyIterator
13: 103452 4965696 java.nio.HeapCharBuffer
14: 149493 4783776 java.util.LinkedHashMap$LinkedKeyIterator
15: 88110 4229280 java.util.HashMap
16: 54414 4208936 [Ljava.util.Hashtable$Entry;
17: 165046 3961104 java.util.ArrayList