This is a screenshot of JProfiler. You see, I can only know byte[]
has the most biggest size (235MB). However, it's not detailed. I don't know where the array is and the related variable name in my program.
I've tried adding some JVM args. But none of them effected.
Below is the JVM args.
'-XX:+FlightRecorder' \
'-XX:StartFlightRecording=duration=180s,settings=/opt/amazon/brazil-config/app/my_jfr_config.jfc,filename=myrecording.jfr' \
my_jfr_config.jfc
<?xml version="1.0" encoding="UTF-8"?>
<configuration version="2.0" label="Continuous" description="Low overhead configuration safe for continuous use in production environments, typically less than 1 % overhead." provider="Oracle">
<event name="jdk.ObjectCount">
<setting name="enabled" control="memory-profiling-enabled-all">true</setting>
<setting name="enabled" control="heap-statistics-enabled">true</setting>
<setting name="period">everyChunk</setting>
</event>
</configuration>
And the JDK version is openjdk 11.0.20 2023-07-18 LTS
.