用途与结果
最快了解这个项目
为什么需要它
内存盘读写快,但它占用的仍是电脑内存。过去把正式文件放进去并做镜像备份,曾发生空源覆盖备份的问题;本机还遇到过Primo删文件后仍占着历史高水位内存。现在把正式资料留在持久磁盘,只让Z承载可再生成缓存,再用容量上限、巡检和有限的重建流程处理这些具体问题。
举个实际例子
“浏览器缓存继续用,但今天有长任务,先别自动重建内存盘。”可以在现有管理窗口暂停重建,目录维护和健康检查继续;长任务登记自己的使用租约。恢复自动模式也不清掉冷却时间,程序不会因一条警告就清盘。
最后我会得到什么
得到一块有容量预算、目录可恢复、问题有记录的缓存盘。它不接管所有应用的缓存管理,也不会把RAM Disk变成可靠文件仓库;是否值得把新缓存搬进去,要看实际工作负载是否有可感知收益。
正常时
内存盘身份正确、基础目录可用,最近一轮资源检查没有达到警告条件;缓存内容仍由各应用自己生成。
发现问题时
资源紧张先留下安静提示。是否重建还要检查持续时间、使用者、本人暂停和冷却;失败时说明已经动过哪一步。
入口不可用或证据不足时
盘未出现、身份不匹配或无法确认 Primo 目标时停止重建;唯一资料若误放在内存盘,守护器无法凭空恢复。
从哪里开始
先按 DEPLOY.md 配好 Primo 内存盘并部署守护任务;日常在已接通这台电脑的 AI 对话中问“Z 盘上次巡检怎样”,AI 读取 STATUS 与日志。
需要准备什么
- 要接入的应用
- 确定可丢的缓存
- 这次要安装、查状态还是暂停恢复
从开始到拿到结果
- 1先只接可丢缓存
Primo 建好 RAM 盘,应用把明确可再生缓存放 Z;正式资料仍在持久磁盘。
- 2守护器定期检查
登录或周期任务等盘出现、补基础目录并留下 STATUS;普通内存警告不弹窗。
- 3异常才考虑重建
持续压力、无活动消费者、未暂停和唯一磁盘身份都满足时,才尝试释放并回读收益。
- 4重启后另行验证
部署、应用接入、自然启动的盘镜像恢复分开确认,脚本通过不等于每层都通过。
从这些需求了解功能
从一个实际问题看它怎样处理、交回什么;当前能做到哪一步和仍有哪些限制,也写在对应说明中。
项目指标与相关入口查看规模、覆盖范围和关联能力
当前项目指标
- 内存盘
- 12 GiB · 8 GiB 缓存软上限
- 当前空间
- 已用0.51 GiB · 空闲11.49 GiB
- 自动巡检
- 登录后 · 每 15 分钟
- 最近状态
- OK · 任务返回 0
它负责
- 内存盘到达后补齐缓存目录和使用说明。
- 定期记录盘空间与主机内存,普通警告留在状态和日志,不打断当前工作。
- 确认持续内存压力且无人占用时,才按现有规则尝试重建指定的 Primo 缓存盘。
- 说明如何部署任务、接入应用缓存、暂停恢复及在自然重启后分别验收。
它不负责
- 不承载正式Git仓库、唯一文档、数据库、模型、凭据或备份。
- 不把系统全局TEMP/TMP、Docker/WSL(Windows 的 Linux 子系统)和无界包缓存迁入Z。
- 不做整盘定时清空,不替缓存生产者制定内容保留期。
- 不保证新缓存一定更快,不保证驱动重建无感或能解决全部系统内存压力。
产品思想与设计核心
先保证丢的是缓存
正式文件留在持久磁盘,内存盘只放能重建的内容;这个约定不会自动拦住误放进去的资料。
有真实收益才迁入
已有高速硬盘,新应用只有在实测读写问题、可承受缓存丢失且容量有界时才值得使用内存盘。
警告安静记录,各应用自己清过期内容
普通警告写入状态,严重故障变化才尝试提醒;守护器不杀应用,也不替它们挑选旧缓存删除。
重建有条件,效果另查
先认准盘和使用者,再按步骤处理;工具报告成功不等于每个应用无感,也不等于一定释放了足够内存。
项目怎样演化到现在
先把正式文件移出易失空间
停止把内存盘当正式数据来源,退出旧镜像备份通道,只让可重新生成的缓存进入。
阶段依据
- 2026-06 · 旧正式文件备份通道退役,缓存允许重建。
ecd7111
处理内存占用不回落的真实故障
依据本机高水位问题把容量从32 GiB收敛到12 GiB,加入空间、主机内存和驱动占用的分项检查。
阶段依据
- 2026-07-23 · 实际高水位故障后收敛容量,并区分资源读数与估算。
a7aee97
自动恢复要知道什么时候不该做
压力需要持续确认,活动消费者和冷却条件会阻止重建;可见窗口保留暂停意图,新增缓存是否值得迁入看实际收益,不为了用满空间而扩张。
阶段依据
- 2026-09-18 · 自动恢复要知道什么时候不该做
e058a7fd11907dfd6eafea6ee3c9821a4778e5a8
完整项目状态与证据边界
已确认事实
- PUBLIC(公开) main e058a7fd11907dfd6eafea6ee3c9821a4778e5a8 已正常推送并远端回读,源工作区干净。修复了旧容量提示、自定义盘符仍重建0号盘,以及驱动命令失败却报告完成的问题。
- 2026-09-14只读识别Z: / RAMDISK / Healthy(健康),总12883849216字节、剩余12695658496字节;镜像E:\RamdiskImage\Z.vdf仍12874547712字节。Primo的0号Z映射、12288MB、SCSI、DMM(动态内存管理)、非临时及Load & Save(加载和保存)/Shutdown Save(关机保存)设置保留9月8日证据,本次未重证映射。
- 2026-09-18只读健康为正常,原RAMDisk_Code_Backup任务Ready/最近0,登录与每15分钟检查、源码与当前观察一致;已用0.51GiB、空闲11.49GiB、提交余量31.2GiB,无已登记活动消费者。无已登记消费者不等于所有应用完全没用Z,重建仍先检查合作式租约和实际证据。
- 守护器维护12个明确目录:Caches及Personal、Work、ChromeCache、ChromeCodeCache、ChromeGPUCache、360zip_temp、WeFlow,Scratch及Personal、Work,以及TEMP。Chrome的Cache、Code Cache、GPUCache现场均为指向对应Z目录的junction(目录连接)。WeFlow目录存在不单独证明其当前进程已使用该缓存。
- 修复后现有任务自然执行,Z:\使用说明.md与仓库Z_使用说明.md的SHA-256同为8557ED61B35E48E522C8354A5F5CC0550903EFA2D807D92D53D573F35F6CADC9。无需复制另一套安装代码,隐藏启动器直接使用当前仓库脚本。
- 当前正式源码e058a7fd提供持续压力复核、消费者租约、冷却与效率说明;原9月8日双PowerShell静态/隔离Primo测试保留原日期。本网页未重建真实缓存盘、计算速度提升或证明自然重启后全部应用恢复。
- 最近系统启动为2026-09-14T00:33:06.5Z;启动后已观察自然任务OK、卷标签正确、12目录及说明一致。快速启动关闭和Primo镜像设置保留9月8日观察;本次没有专门重启,也未验每项应用缓存和完整Primo保存恢复流程。
当前缺口
- cache-only(仅缓存)是使用约定,不是文件拦截器。误放进去的唯一数据仍可能丢失;守护器不备份、不恢复个人文件,也不会审查每个缓存的内容。
- 不可归属内存是带共享页计数误差的估算,不能单独证明某个驱动泄漏;重建也不承诺固定释放量、固定耗时或活动应用零中断。
- 最近一轮已恢复OK,只证明该轮没有达到告警阈值。守护器不会关闭应用、调分页文件或替所有进程解决内存压力,之后仍可能出现新的WARN。
- 生产初始化/保存与本轮自然重启恢复未重做;已验证源码、隔离失败处理、现有安装映射和自然任务运行,分别陈述。
来源与公开边界
公开仓库保存守护与部署脚本、使用说明和回归测试。本机运行日志、Primo镜像及应用缓存不随代码入库;网页根据本轮只读回读展示状态,不是实时控制台。
当前关键技术事实
- 源版本
- PUBLIC(公开) main e058a7fd11907dfd6eafea6ee3c9821a4778e5a8 已正常推送并远端回读,源工作区干净。修复了旧容量提示、自定义盘符仍重建0号盘,以及驱动命令失败却报告完成的问题。
- 实际磁盘与镜像
- 2026-09-14只读识别Z: / RAMDISK / Healthy(健康),总12883849216字节、剩余12695658496字节;镜像E:\RamdiskImage\Z.vdf仍12874547712字节。Primo的0号Z映射、12288MB、SCSI、DMM(动态内存管理)、非临时及Load & Save(加载和保存)/Shutdown Save(关机保存)设置保留9月8日证据,本次未重证映射。
- 任务与健康分别读取
- 2026-09-18只读健康为正常,原RAMDisk_Code_Backup任务Ready/最近0,登录与每15分钟检查、源码与当前观察一致;已用0.51GiB、空闲11.49GiB、提交余量31.2GiB,无已登记活动消费者。无已登记消费者不等于所有应用完全没用Z,重建仍先检查合作式租约和实际证据。
- 目录与应用接入
- 守护器维护12个明确目录:Caches及Personal、Work、ChromeCache、ChromeCodeCache、ChromeGPUCache、360zip_temp、WeFlow,Scratch及Personal、Work,以及TEMP。Chrome的Cache、Code Cache、GPUCache现场均为指向对应Z目录的junction(目录连接)。WeFlow目录存在不单独证明其当前进程已使用该缓存。
- 说明与自然定时运行
- 修复后现有任务自然执行,Z:\使用说明.md与仓库Z_使用说明.md的SHA-256同为8557ED61B35E48E522C8354A5F5CC0550903EFA2D807D92D53D573F35F6CADC9。无需复制另一套安装代码,隐藏启动器直接使用当前仓库脚本。
- 源码与行为验证
- 当前正式源码e058a7fd提供持续压力复核、消费者租约、冷却与效率说明;原9月8日双PowerShell静态/隔离Primo测试保留原日期。本网页未重建真实缓存盘、计算速度提升或证明自然重启后全部应用恢复。
- 启动证据边界
- 最近系统启动为2026-09-14T00:33:06.5Z;启动后已观察自然任务OK、卷标签正确、12目录及说明一致。快速启动关闭和Primo镜像设置保留9月8日观察;本次没有专门重启,也未验每项应用缓存和完整Primo保存恢复流程。
完整执行流程
- 1先配置可丢的缓存使用者
Primo创建内存盘,应用接入自己的缓存目录;正式资料仍在持久磁盘。
- 2登录或定时运行
旧名RAMDisk_Code_Backup的任务通过VBS调用守护脚本,每15分钟一轮,重叠运行被忽略。
- 3找到盘并补基础目录
等待最多150秒、检查单字母盘符和RAMDISK卷标,补12个目录、同步说明并写隐藏标记。
- 4检查资源与必要恢复
读取空间与内存,持续压力复核后检查消费者、暂停、冷却与精确Primo/卷身份;满足条件才重建并回读目录、说明和命令结果,收益不足或未知不宣称有效释放。
- 5留下可读结果
STATUS保存最新状态,guardian.log保存过程;WARN静默,进入ERROR时尝试发出一次桌面提示。
本页用到的名词
需要核对专业含义时,可以在这里查看它在 RamdiskGuardian 项目中的具体用法。
- RAM Disk(内存盘)
- 用物理内存提供一个磁盘。当前Primo设置可加载/保存镜像,但本项目仍只信任它保存可再生成缓存。
- cache-only(仅缓存)
- 只放可以丢弃并重新生成的对象;这是一条使用约定,不是自动阻止正式文件写入的机制。
- DMM(动态内存管理)
- Primo按需分配内存的功能。本机曾观察到文件删除后驱动仍持有历史高水位占用。
- Unaccounted Memory(不可归属内存估算)
- 总已用物理内存减去进程工作集、内核池、缓存和修改页等计数的差值。共享页可能重复计数,因此会为负,不能当作精确泄漏量。
- Commit Headroom(提交余量)
- Windows提交限制减去已提交字节数,用来观察还能承受多少新的内存申请。
- junction(目录连接)
- 让应用原来的缓存路径指向另一个目录;应用仍走原路径,实际内容位于Z。
- scratch(临时工作区)
- 只保留可再生成的测试或中间输出,结束后由创建它的工具清理。
- robocopy /MIR(镜像同步)
- 使目标结构与源一致,也会删除目标中源端没有的内容。它已退出本项目现役备份逻辑。
系统里实际有什么
下面是当前产品组件,不是概念分类。每一项都对应真实文件、入口或验证链。
提供内存盘和镜像加载/保存
本机12288 MB动态内存盘、非临时、NTFS、RAMDISK卷标;镜像位于E:\RamdiskImage\Z.vdf。守护器使用其rxprd命令,不实现另一个磁盘驱动。
等待盘、补目录和说明、检查健康并处理有条件重建
读取Get-Volume、CIM和性能计数器,维护STATUS、日志及.lasthealth;重建前解析Primo实际磁盘编号并检查命令结果。
安装现有计划任务并隐藏运行窗口
部署需要管理员,关闭快速启动,注册登录及定期触发;VBS等待Windows PowerShell退出并传递结果。Chrome运行时跳过缓存链接调整。
把使用约定放在盘根,方便直接查看
使用SHA-256比较仓库源与盘根说明,内容变化或目标缺失时同步;不借此检查其他文件。
检查现有约定和恢复失败分支
Assert-RamdiskGuardianStatic.ps1检查15项静态约定;Test-RamdiskGuardianRecovery.ps1在临时目录和假的Primo进程上执行生产恢复分支的10种情形。
当前数据合同与写读边界
Markdown规则,无独立schema文件
E:\PCConfig\docs\governance\dev_storage_policy.md:E是现有稳定层,V是新项目/开发层,Z只接纳有界可再生成热缓存;不是批量搬迁已有项目的命令。
zguardian.ps1中的目录数组和数值常量
RamdiskGuardian:保留12目录、8GiB缓存软上限及原内存阈值;压力至少10秒取3次连续样本,间隔超过30秒重新确认。活动/未知消费者、暂停或冷却阻止重建,不能只靠一拍低内存触发。
STATUS.txt / .lasthealth / guardian.log / alerts.log
Set-Health与Windows计划任务:health.json同目录原子替换并保留previous,STATUS.txt兼容;检查任务启用、周期、观察时间、实际源码哈希和卷。WARN可完成并返回0但不是健康PASS,关键ERROR非零,日志有界轮转。
rxprd ls / init <index> -s / save <index> -s
Primo命令行与守护器恢复分支:唯一盘符映射后才初始化;命令或骨架恢复失败终止本次恢复,不能继续记完成。无新增事务、服务或数据格式。
4 层证据分别证明什么
能证明:已验证源提交、15项静态约定、10种生产恢复分支夹具,并复现修复前的假完成。
不能证明:不证明真实驱动重建耗时、释放内存量或活动应用恢复效果。
能证明:9月14日已回读Z卷容量、12目录、说明、镜像大小及04:03Z自然任务OK;Primo映射/镜像选项和Chrome三个连接仍为9月8日历史证据。
不能证明:不证明没有其他进程内存问题,也不证明任意新应用已接入Z。
能证明:现有任务直接调用当前仓库脚本,03:37轮自然执行返回0,更新后的盘根说明与源哈希一致。
不能证明:该轮没有触发紧急重建,也不是一次重启恢复演练。
能证明:源main e058a7fd11907dfd6eafea6ee3c9821a4778e5a8已远端回读;README/DEPLOY对应PDF已重新生成、提取文字并逐页视觉检查。
不能证明:源仓库发布本身不证明网页部署;两种发布分别回读。
维护入口
Get-Content E:\Projects\Tools\RamdiskGuardian\logs\STATUS.txt; Get-Content E:\Projects\Tools\RamdiskGuardian\logs\guardian.log -Tail 20先看最近健康记录:只读查看空间、可用内存、提交余量、不可归属内存估算,以及最近有没有发生重建。
Get-ScheduledTask RAMDisk_Code_Backup; Get-ScheduledTaskInfo RAMDisk_Code_Backup看计划任务是否正常执行:把Ready/Running和LastTaskResult与STATUS一起判断;0不是健康全绿的充分证据。
powershell -NoProfile -ExecutionPolicy Bypass -File E:\Projects\Tools\RamdiskGuardian\zguardian.ps1执行一次完整守护:这会创建缺失目录、同步说明,并在满足阈值时尝试重建缓存盘。它不是只读健康检查;驱动命令需要管理员权限。
E:\Projects\Tools\RamdiskGuardian\deploy.ps1部署或恢复计划任务:在已创建Primo磁盘后以管理员运行;默认Z和15分钟,可选-RamDrive单字母与-IntervalMinutes。会修改快速启动、任务及适用的Chrome缓存链接。
& 'C:\Program Files\Primo Ramdisk\rxprd.exe' ls只读确认Primo磁盘编号:在管理员上下文查看磁盘编号和盘符;当前0号盘为Z,不把这个编号当成所有机器和自定义盘符的固定值。
pwsh -NoProfile -File E:\Projects\Tools\RamdiskGuardian\tests\Assert-RamdiskGuardianStatic.ps1; pwsh -NoProfile -File E:\Projects\Tools\RamdiskGuardian\tests\Test-RamdiskGuardianRecovery.ps1验证源码和隔离恢复行为:不初始化真实内存盘,检查既有约定与成功、失败、目标不明确等恢复分支。
E:\PCConfig\tools\Show-StreamingMaintenance.ps1; Set-RamdiskRecoveryMode.ps1 -Mode Pause -Apply -Json可见维护与重建暂停:窗口只读打开;暂停只阻止自动重建,目录与健康仍维护,恢复不清冷却。
快照怎样更新
2026-09-18只读健康确认目录、说明、现行源码和原任务正常;9月8日隔离Primo测试保留历史。没有真实重建、镜像压缩或自然重启验收,效率与占用指标按各自证据说明。
