Java How To Request / Force Garbage Collection
Java - How to Request Garbage Collection in Code
System.gc(); // request GC
Runtime.getRuntime().gc(); // request GC, equivalent to System.gc()
Runtime.gc(); // also requests GC
Run a Java GC from the Command Line
It is possible to trigger a garbage collection from the command line using the jcmd command. We’re going to assume that you have your path setup correctly and that jcmd is on the path. If not, you can either set up your path or run this directly from where you have the JDK installed ( see the section below on Jconsole.
You can list all local Java procs and their pids with this command:
jcmd
You can request a GC on a specific Java PID like this ( assuming the pid is 2106136 ).
jcmd 2106136 GC.run
Run a Java GC from the Jconsole GUI
On windows, your path might look like this ( probably with a newer JDK version ):
C:\Program Files\Java\jdk1.6.0_31\bin
Just navigate there and launch jconsole.exe.
On Linux, the path might be a bit different. For example, I have the JDK installed here ( your will probably be different ):
/home/user1/jdk-15.0.2
Just cd to the bin directory and launch jconsole.
cd /home/user1/jdk-15.0.2/bin
./jconsole
You can also launch it directly if you path is setup correctly.
jconsole
Connect to the process that you want to work with ( remote or local ).
Go to the memory tab and click on the button labeled “Perform GC”.
You should see the line on the graph drop almost straight down.