Skip to content

About

Redirect Codex Desktop logs_2.sqlite writes to a Windows RAMDisk.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

Codex Log RAMDisk for Windows

LINUX DO

把 Codex Desktop 的 logs_2.sqlite 日志数据库重定向到 Windows 内存盘,减少 TRACE 日志高频写入对硬盘的影响。

这个方案不会关闭日志,也不会修复 TRACE 日志产生的根因。它只是把高频写入从硬盘转移到 RAMDisk。

适用场景

  • ~/.codex/logs_2.sqlite 因 TRACE 日志持续增长。
  • logs_2.sqlite-wal 高频刷新,担心 SSD 被持续写入。
  • 希望重启后自动恢复 RAMDisk 和软链接。

工作原理

脚本会创建一个 R: 内存盘,并把这三个文件替换为软链接:

%USERPROFILE%\.codex\logs_2.sqlite     -> R:\logs_2.sqlite
%USERPROFILE%\.codex\logs_2.sqlite-wal -> R:\logs_2.sqlite-wal
%USERPROFILE%\.codex\logs_2.sqlite-shm -> R:\logs_2.sqlite-shm

同时处理 -wal 和 -shm 很重要。SQLite 的高频写入通常主要落在 WAL 文件上。

文件说明

dp_ramdisk_setup_windows.ps1   主脚本:创建 RAMDisk 并修复软链接
run_dp_ramdisk_setup.bat       双击运行主脚本
install_startup_windows.ps1    注册开机/登录自启任务
install_startup_windows.bat    双击安装自启任务
uninstall_startup_windows.ps1  卸载任务,可选删除软链接和卸载 RAMDisk
uninstall_startup_windows.bat  双击卸载任务、删除软链接并卸载 RAMDisk

前置条件

  • Windows
  • 管理员权限
  • ImDisk Toolkit

如果已经安装 Chocolatey,可以这样安装 ImDisk Toolkit:

choco install ImDisk-Toolkit -y

安装后确认:

imdisk.exe --version

使用方法

  1. 完全退出 Codex Desktop。
  2. 双击运行:
run_dp_ramdisk_setup.bat
  1. 允许 UAC 管理员权限。
  2. 成功后再双击运行:
install_startup_windows.bat

install_startup_windows.bat 只需要执行一次。它会创建任务计划程序任务:

DP_Codex_RAMDisk_Log

之后每次登录 Windows 时,会自动创建 RAMDisk 并修复软链接。

默认配置

盘符:R:
大小:128MB
卷标:RAMDisk_DP

如果要临时指定大小:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\dp_ramdisk_setup_windows.ps1" -DriveLetter "R" -SizeMB 256

如果要永久修改默认大小,编辑 dp_ramdisk_setup_windows.ps1 顶部的:

[int]$SizeMB = 128

验证是否生效

查看软链接:

Get-Item "$HOME\.codex\logs_2.sqlite*" | Select-Object Name,LinkType,Target,Length

正常结果应显示 LinkType 为 SymbolicLink,Target 指向 R:\logs_2.sqlite*。

查看 RAMDisk 空间:

Get-PSDrive R

查看 R: 内日志文件:

Get-ChildItem R:\logs_2.sqlite*

卸载

双击运行:

uninstall_startup_windows.bat

默认会执行:

  • 删除任务计划程序任务
  • 删除 ~\.codex\logs_2.sqlite* 软链接
  • 卸载 R: RAMDisk

如果只想删除自启任务,不动软链接和 RAMDisk:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\uninstall_startup_windows.ps1"

注意事项

  • RAMDisk 中的日志会在重启后消失,这是预期行为。
  • 首次运行时,如果发现真实的 logs_2.sqlite* 文件,脚本会先备份到:
%USERPROFILE%\.codex\log_backups_before_ramdisk\
  • 如果 Codex 正在运行,旧数据库可能被锁定。请完全退出 Codex Desktop 后再运行脚本。
  • 如果 R: 已被其他程序占用,请改用其他盘符,例如:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File ".\dp_ramdisk_setup_windows.ps1" -DriveLetter "Z" -SizeMB 128
  • 这个项目不是 OpenAI 官方工具,只是一个本地 Windows 维护脚本。

社区友链

感谢 LINUX DO 社区提供开源项目交流空间。

License

MIT

About

Redirect Codex Desktop logs_2.sqlite writes to a Windows RAMDisk.

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages