Codex Desktop on Windows generates excessive local SQLite I/O and causes system stalls

Open 💬 5 comments Opened Jun 20, 2026 by lgoklgok-lee

What version of Codex are you using?

Codex Desktop App on Windows, observed install path version: 26.616.4196.0.

What platform is your computer?

Windows desktop workstation.
Hardware: AMD Ryzen 9 9950X, 32 GB RAM.

What issue are you seeing?

Codex Desktop generates very heavy local I/O against multiple SQLite databases under the user Codex data directory. Before moving these SQLite files to a RAM disk, the machine would periodically stall or feel blocked during normal Codex use, despite being a high-end workstation.

The problematic files include SQLite databases and WAL/SHM companions such as logs/state/memories/goals databases. The write pattern appears continuous and high-frequency, especially around SQLite WAL activity.

After moving these Codex SQLite files to an AIM RAM disk and keeping a disk-backed sync copy, the system became noticeably smoother. This strongly suggests that Codex local persistence/logging behavior is causing the disk stalls.

Local observation data

A 60-second local monitor after moving the files to RAM disk showed:

Physical disk activity:

R:  write 155.1 MB, peak 25.7 MB/s
D:  write 8.8 MB, read 0.2 MB
C:/F: write 5.7 MB, read 0.3 MB
E:/K: near 0

Top process I/O deltas during the same 60 seconds:

codex.exe app-server: total I/O about 1896.8 MB, write about 282.3 MB
Codex.exe main process: total I/O about 789.4 MB, write about 70.1 MB
Codex renderer process: write about 403.8 MB

I understand process-level I/O includes pipes, IPC, network, and device I/O, so it is not equal to physical disk writes. But the disk-level measurement still shows that Codex would have produced substantial local write pressure without the RAM disk workaround.

Expected behavior

Codex Desktop should avoid continuous high-frequency writes to the user's physical disk during normal use. A high-end Windows workstation should not experience UI/system stalls due to Codex local persistence.

Suggested improvements

Please consider improving Codex Desktop local persistence behavior:

  • Reduce local log verbosity by default.
  • Batch/debounce SQLite writes.
  • Separate volatile logs from durable state.
  • Provide a setting to choose log/cache/database directory.
  • Provide max log size and retention controls.
  • Automatically rotate, checkpoint, vacuum, or compact large SQLite logs.
  • Avoid unbounded WAL growth or very frequent WAL writes on the user/system disk.
  • Allow volatile logs to be stored in a temp/cache location while keeping durable state safer.
  • Expose diagnostics showing which Codex local files are responsible for heavy I/O.

Workaround used

I moved the high-frequency Codex SQLite files to a RAM disk and keep a synchronized disk-backed copy. This greatly reduced physical disk writes and made the machine smoother. However, this workaround is fragile and should not be necessary for normal desktop use.

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗