Windows · 命令行 · 单文件 exe

把能收回来的内存收回来,
不顺手杀你的进程。

通过系统 API 回收已修改页、待机列表、系统文件缓存和各进程的工作集。 哪些进程该跳过、哪些步骤需要管理员权限,都写在明面上,你可以只看不做。

GTC 内存优化.exe
C:\> GTC 内存优化.exe -a

  Windows 内存优化工具 v2.0  [管理员]

  回收前   可用 3.12 GB / 16.00 GB    已提交 9.44 GB

  [████████████████░░░░░░░░]  62%   清空已修改页列表
  [████████████████████████] 100%   清理待机列表
  [████████████████████████] 100%   刷新系统文件缓存
  进程工作集:整理 41 个,跳过 12 个 (前台 / 桌面外壳 / CPU 占用高)

  回收后   可用 6.48 GB / 16.00 GB
  稳定后复测   实际释放 3.31 GB
  按回车键退出...
示例输出 —— 数字是演示用的,你机器上的结果取决于当前占用

> 它到底回收了什么

四类对象,走的都是系统自己的接口,不是"假装清理"。

已修改页列表

脏页写回磁盘后就能放手。这一步不动任何进程,是四个里最没副作用的。

NtSetSystemInformation

待机列表

系统留着"万一再用"的缓存页。清掉后数字最好看,代价是下次读同一批文件会慢一点。

需管理员权限

系统文件缓存

刷新文件系统缓存,让那些再没人引用的页真正归还。不想要可以整步跳过。

--no-cache

进程工作集

把进程暂时不用的页交还给系统。进程照常运行,之后需要时自己再要回来。

EmptyWorkingSet

> 它默认不做的事

这些是写死的默认行为,不是"建议你小心使用"。

不结束任何进程。程序里没有一处会杀进程;工作集整理只是让进程把闲置的页交出来。
跳过你正在用的东西。前台窗口所在进程、桌面外壳 explorer、系统关键进程 csrss,以及 CPU 占用超过阈值(默认 3.0%)的进程,默认都不整理 —— 刚整理完就卡顿是最差的用户体验。确实要全整理,加 --all。
没有"内存不足自动清理"这种后台常驻。跑一次算一次,退出码 0 表示正常完成、1 表示出错,方便你挂到计划任务里。

> 常用几条

先看再动,是这个工具自己的用法顺序。

GTC 内存优化.exe -n模拟运行:报告将要做什么,一处都不改
GTC 内存优化.exe -s -t 15只看状态 + 内存占用前 15 的进程
GTC 内存优化.exe普通优化
GTC 内存优化.exe -a深度优化:两轮回收,稳定后再复测真实释放量
GTC 内存优化.exe -q --json静默输出 JSON,便于脚本接管(自动关彩色)

> 全部参数

和 --help 一致。

运行模式

  • -s, --status仅显示内存状态后退出
  • -n, --dry-run模拟运行,不做实际更改
  • -a, --aggressive两轮回收,并在稳定后复测真实释放量
  • --all连前台与高 CPU 进程一起整理

步骤开关

  • --no-cache跳过系统文件缓存刷新
  • --no-standby跳过待机列表清理
  • --no-workset跳过工作集整理

进程筛选

  • --exclude 名称逗号分隔,这些进程不整理(大小写不敏感)
  • --only 名称逗号分隔,只整理这些进程
  • --cpu-threshold 3.0CPU 占用超过该百分比就跳过
  • --min-workset 2.0工作集小于该 MB 数就跳过

输出控制

  • -q, --quiet只输出最终摘要
  • -v, --verbose显示每个进程的整理决策
  • -t N列出内存占用最高的 N 个进程
  • --jsonJSON 输出,自动禁用彩色
  • --no-color禁用彩色(输出被重定向时会自动禁用)

> 关于管理员权限

待机列表清理和文件缓存刷新需要管理员权限,程序会自己请求提权。

你在弹窗里点了"否",它也不会罢工:会照原样打印 已取消提权, 以普通权限运行。待机列表清理和缓存刷新将不可用。 然后把能做的两步做完 —— 工作集整理照常。
不想每次都弹窗,加 --no-elevate 直接以当前权限跑。

> 交付形态

单文件 exe

PyInstaller 打包,下载即用,不装运行库、不写注册表、不留后台服务。

只用标准库

全部系统调用走 ctypes 加标准库,没有 psutil、没有 pywin32。