CF 2023 Thread-27 IOCP Handler Consuming Excessive CPU - Bug Report
Each time we restart the instance, even without any user traffic at all, cpu will eventually jump to 24-25% and stay there.
In some cases this will double, which then makes the site using the instance slow and unresponsive
- Problem Statement
- ColdFusion 2023 consuming 20-24% CPU constantly with zero user activity
- Issue started late September 2025, no configuration changes
- Restart temporarily fixes it, CPU climbs back within hours
- Server: Windows Server, CF 2023, Java 17.0.6, 4 cores, 6GB heap
- Thread Dump Evidence (CRITICAL)
"Thread-27" #95 daemon prio=5 os_prio=0 cpu=2798078.13ms
State: RUNNABLE
at sun.nio.ch.Iocp.getQueuedCompletionStatus(Native Method)
at sun.nio.ch.Iocp$EventHandlerTask.run(Iocp.java:323)
This thread has consumed 2.7 million milliseconds (46 minutes) of CPU time in IOCP polling.
- Network Evidence The netstat output shows CLOSE_WAIT connections to Akamai CDN that never close, accumulating over time?
- What I've Ruled Out
- GC is healthy (gc.log shows normal behavior, 5-15ms pauses)
- No active requests (PMT shows zero activity)
- No application errors (logs clean)
- Removed CF WebSocket configuration (helped reduce threads from 270 to 90, but CPU issue persists)
- All scheduled tasks complete successfully
- No Windows updates since October 2024.
- HTTP Log Shows that all application-level HTTP requests complete successfully with proper timeouts.
- My Analysis Thread-27 is CF's Windows I/O Completion Port handler thread. It's stuck in a polling loop instead of blocking, consuming CPU constantly. This appears to be a bug in how CF 2023's NIO implementation interacts with Windows IOCP on Java 17. Threads show three similar threads all consuming cpu cycles. But I don't know what is causing these stick IO threads
Any help greatly appreciated.
Thanks
Forrest
