Entries tagged - "jvm"
LMAX Disruptor v4.0.0

If you’ve read this blog before, you may have noticed a cluster of posts from 2013-2016, followed by a suspiciously long silence until late 2025. The main reason for that gap was a job change in mid-2017, when I left Fivium and joined LMAX Exchange Group.
LMAX didn’t discourage blogging - quite the opposite. But the work demanded more focus, the commute was a lot longer, and life outside work also became busier. Something had to give, and unfortunately that something was writing. Lately I’ve been trying to get back into it, which has involved reflecting on some of the more interesting things I’ve worked on over the last decade.
…Local Perf Testing

Every so often, I like to do some benchmarking on my own machine. Anyone who’s ever done serious performance measurement is probably already scrambling for the comment section to put me on blast as benchmarking on your desktop is basically the opposite of a controlled environment. But with a few tweaks, you can make it just good enough to trust your results.
This post is a walkthrough of how I prep my local machine for low-jitter, semi-deterministic benchmarking on Linux.
…JVM Core Dumping
The work I do for Fivium is mostly developing a Java servlet called FOXopen which is a stateful web framework that typically runs on top of Tomcat.

Unfortunately, as with all software, it occasionally crashes and hangs (typically using 100% CPU stuck in a GC loop). When a Java application has hung because of underlying memory issues the best way to investigate the cause would be to dump all the memory, a Heap Dump.
…