dragonwell-project / dragonwell11

Alibaba Dragonwell11 JDK
https://www.aliyun.com/product/dragonwell
GNU General Public License v2.0
558 stars 114 forks source link

[upstream]probability memory leak of Compiler #863

Open sendaoYan opened 1 month ago

sendaoYan commented 1 month ago

Steps to Reproduce Testcase: https://github.com/sendaoYan/dragonwell11-ysd/tree/codecacheTest

time jtreg -v1 -nr -w tmp-temurin-Xmixed -jdk:/home/yansendao/software/jdk/2024-09/temurin/jdk-11.0.24+8 test/hotspot/jtreg/compiler/codecache/stress/CodecacheMemoryCheck.sh

image

native-memory-summary-temurin11.xlsx native-memory-summary.txt

JDK version

/home/yansendao/software/jdk/2024-09/temurin/jdk-11.0.24+8/bin/java -version ; /home/yansendao/software/jdk/2024-09/temurin/jdk-11.0.24+8/bin/java -Xinternalversion
openjdk version "11.0.24" 2024-07-16
OpenJDK Runtime Environment Temurin-11.0.24+8 (build 11.0.24+8)
OpenJDK 64-Bit Server VM Temurin-11.0.24+8 (build 11.0.24+8, mixed mode)
OpenJDK 64-Bit Server VM (11.0.24+8) for linux-amd64 JRE (11.0.24+8), built on Jul 17 2024 01:04:23 by "" with gcc 7.5.0

Execution environment

+ uname -a
Linux riscv-dev 5.10.134-16.3.al8.x86_64 #1 SMP Tue Mar 26 18:54:05 CST 2024 x86_64 x86_64 x86_64 GNU/Linux
+ cat /etc/os-release
NAME="Alibaba Cloud Linux"
VERSION="3 (OpenAnolis Edition)"
ID="alinux"
ID_LIKE="rhel fedora centos anolis"
VERSION_ID="3"
VARIANT="OpenAnolis Edition"
VARIANT_ID="openanolis"
ALINUX_MINOR_ID="2104"
ALINUX_UPDATE_ID="10"
PLATFORM_ID="platform:al8"
PRETTY_NAME="Alibaba Cloud Linux 3.2104 U10 (OpenAnolis Edition)"
ANSI_COLOR="0;31"
HOME_URL="https://www.aliyun.com/"
+ free -h
              total        used        free      shared  buff/cache   available
Mem:          495Gi       3.4Gi       467Gi       2.0Mi        24Gi       487Gi
Swap:            0B          0B          0B
+ lscpu
+ head -n 25
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              128
On-line CPU(s) list: 0-127
Thread(s) per core:  2
Core(s) per socket:  64
Socket(s):           1
NUMA node(s):        1
Vendor ID:           AuthenticAMD
CPU family:          25
Model:               17
Model name:          AMD EPYC 9T24 96-Core Processor
Stepping:            1
CPU MHz:             2806.347
BogoMIPS:            5400.00
Hypervisor vendor:   KVM
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            1024K
L3 cache:            32768K
NUMA node0 CPU(s):   0-127
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf tsc_known_freq pni pclmulqdq monitor ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext invpcid_single vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves avx512_bf16 clzero xsaveerptr rdpru wbnoinvd arat avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid fsrm arch_capabilities
+ ldd --version
ldd (GNU libc) 2.32
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
+ java -version
openjdk version "23" 2024-09-17
OpenJDK Runtime Environment (build 23)
OpenJDK 64-Bit Server VM (build 23, mixed mode, sharing)
+ java -Xinternalversion
OpenJDK 64-Bit Server VM (23) for linux-amd64 JRE (23), built on 2024-04-01T07:38:47Z with gcc 10.2.1 20210130 (Red Hat 10.2.1-11)
+ git remote -v
origin  git@github.com:sendaoYan/dragonwell11-ysd.git (fetch)
origin  git@github.com:sendaoYan/dragonwell11-ysd.git (push)
upstream        git@github.com:dragonwell-project/dragonwell11.git (fetch)
upstream        git@github.com:dragonwell-project/dragonwell11.git (push)
+ git log -n 1
+ head -n 1
commit 40464435413f0e90a7c0a044b962388fad9229f1
kuaiwei commented 1 month ago

上游也有类似的问题,可能和CompileTask的free只是加入free_list有关。