KISDigital — ColdFusion, Lucee & BoxLang
The JVM Was Calling System.gc() Behind My Back
Feedhouse, a small BoxLang RSS reader, was running up to 70 full GCs an hour with its heap a quarter full. The likely cause: when direct (off-heap) buffer memory reaches -XX:MaxDirectMemorySize, the JDK calls System.gc() itself, and I had capped it at 64 MB. Raising the cap to 128 MB cut full GCs to 2-5 an hour, past the point where the spike used to begin. How I tracked it down with hourly JVM metrics and an admin GraphQL API, driven by Claude Code.
Follow along
New articles on BoxLang, CFML and the JVM web stack, wherever you already read.
Most read
What readers keep coming back to.
Projects
Open-source modules and tools, documented here.
boxlang-express
An Express.js-style API for building lightweight HTTP servers in BoxLang.
bx-activitypub
ActivityPub federation for BoxLang apps — publish posts to Mastodon and the fediverse, and accept public replies back.
bx-zork
A from-scratch text-adventure parser engine in BoxLang, loaded with the world of Zork I.
coldbox-graphql
A schema-agnostic ColdBox module that serves a GraphQL API from SDL files you supply.
From the archive
Older posts worth another look. A new pick each day.
Topics
Browse everything by tag.