$ java -Xmx160m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=docs/output/heap.hprof -jar target/unbounded-queue-leak.jar unbounded-queue-leak: driving an unbounded queue to OOM, consumer sleeps 50ms/item java.lang.OutOfMemoryError: Java heap space Dumping heap to docs/output/heap.hprof ... Heap dump file created [175828534 bytes in 0.250 secs] Caused by: java.lang.OutOfMemoryError: Java heap space at java.base/java.util.concurrent.LinkedBlockingQueue.put(LinkedBlockingQueue.java:329) at com.ankurm.oomdemo.UnboundedQueueLeakApplication.lambda$driveLeak$0(UnboundedQueueLeakApplication.java:53) at com.ankurm.oomdemo.UnboundedQueueLeakApplication$$Lambda/0x000000000b247688.run(Unknown Source) at org.springframework.boot.SpringApplication.lambda$callRunner$0(SpringApplication.java:788) at org.springframework.boot.SpringApplication$$Lambda/0x000000000b25ccd0.acceptWithException(Unknown Source) at org.springframework.util.function.ThrowingConsumer$1.acceptWithException(ThrowingConsumer.java:82) at org.springframework.util.function.ThrowingConsumer.accept(ThrowingConsumer.java:60)