C 盘又满了?试试我用的这个方法吧,轻松腾出几十个G,还有好用的工具推荐哟!

20241010074913

如题,作为具有洁癖的程序猿,作为具有容量焦虑症的程序猿,我总是希望C盘保持轻巧状态(看来还是Mac比较省心),奈何我给了它200G的存储,安装的应用都保存到了D盘,可它还是蹭蹭飙升,不够用啊!

点开 属性 查看

点开 详细信息 查看,系统和保留占了 88.1 GB

点击 系统和保留,我去,休眠文件占了 63.8 GB

我确实用过几次休眠,但你也不至于占那么大吧,看来这玩意不能轻易用啊,windows着实有点烂

如何删除呢?这文件压根找不见在哪,如何找到呢,这里搜到了一个不错的软件 windirstat

https://github.com/windirstat/windirstat

这是效果图

这里可以直接进行删除和回收。

另外搜索了一圈,网上说关闭休眠选项可以清理,操作倒不复杂。

windows 搜索 cmd 或者 powershell 以管理员方式运行,输入如下指令就可以关闭睡眠选项了

cmd

powershell

搜到了一个介绍说使用 powercfg -h off

https://www.techbang.com/posts/12827-unknown-system-cannot-be-deleted-through-the-system

另外继续搜索,搜到了官方的文档

Powercfg 命令行选项 | Microsoft Learn

也找到了可用的设置项

powercfg /hibernate [ on | off ]

or

powercfg /H [ on | off ]

反正都执行了一下,也没报啥错

重启一下看看

20241010075120

空间倒是回来了,试了一下点睡眠,好像并没有禁用啊,反正还是可以继续睡眠,至少这个睡眠文件是没有了。

使用 windirstat 分析一下也没有那个 hiberfile.sys 文件了

当然清理 win 存储还有一些其他方式,我就不介绍那么多了,例如:临时文件清理,定期重启,磁盘碎片整理也是一些不错的方式。


EOF


好了,今天的分享就到这里,欢迎到我的个人站点 huangyanxiang.com 或者 个人公&号:新质程序猿 查看更多内容。

感谢大家的阅读,如果有任何异议的地方,欢迎指正,也欢迎大家与我做朋友!

<think>好的,我现在需要帮助用户解决关于YOLO训练中缓存路径自定义的问题。用户之前遇到了关于使用cache='ram'的警告,我建议他改用cache='disk',但他现在提到C空间不足,无法腾出足够空间,所以想知道是否可以自定义磁路径。 首先,我需要确认YOLO的缓存机制是否允许用户自定义路径。根据之前的知识,YOLO默认会将缓存文件生成在数据集目录下,但用户可能需要修改这个路径。如果官方文档中没有明确说明,可能需要寻找其他方法,比如符号链接或者环境变量。 接下来,用户提到C空间不足,这很常见,尤其是当数据集较大时。解决方案需要在不移动数据集的情况下,将缓存文件存放到其他分区。例如,用户的数据集在E,但缓存文件默认可能在E的数据集目录下,但用户可能希望存到D或者其他空间更大的地方。 然后,我需要考虑可能的解决方法。比如,使用符号链接(mklink)将缓存目录链接到其他分区,或者在代码中修改缓存路径。但根据YOLO的源码,可能需要查看是否有参数可以指定缓存路径。如果不行,可能需要手动修改数据集配置文件的路径,或者通过环境变量来改变默认缓存位置。 另外,用户可能对命令行操作不太熟悉,所以需要给出详细的步骤说明,特别是关于如何使用mklink命令,以及注意事项,比如需要管理员权限,或者目录是否存在等问题。 还要考虑用户的环境,是否使用的是Windows系统,因为mklink在Windows和Linux下的用法不同。根据用户之前的代码路径(E:\ultralytics\...),可以推测是Windows系统,所以需要提供Windows下的解决方案。 此外,用户可能需要更简单的解决方案,比如直接修改数据集的存放路径到其他,但用户可能已经将数据集固定在E,所以需要另一种方法。 最后,需要验证这些方法的可行性,确保不会引起其他问题,比如路径错误导致训练失败,或者缓存无法正确生成。同时,提醒用户在修改后检查缓存文件是否生成在指定位置,以确认解决方案有效。</think>### **问题核心** 当您使用`cache='disk'`时,YOLO默认会在**数据集同级目录**生成`.cache`文件。针对C空间不足的情况,可以通过以下两种方案自定义缓存位置: --- ### **方案1:修改数据集路径(推荐)** **原理**:将整个数据集目录(含`data.yaml`)迁移到空间充足的磁(如D),YOLO会自动在新位置生成缓存。 **操作步骤**: 1. 将数据集文件夹`E:\ultralytics\datasets\PCB`整体复制到其他(如`D:\datasets\PCB`) 2. 修改代码中的数据集路径: ```python model.train( data=r"D:\datasets\PCB\data.yaml", # 新路径 # 其他参数保持不变... ) ``` **优势**: - 零技术门槛 - 完全避免C占用 **验证方法**: ```bash dir D:\datasets\PCB\*.cache # 检查缓存文件是否生成 ``` --- ### **方案2:创建符号链接(高级技巧)** **适用场景**:必须保持数据集原始路径不变时,通过**目录映射**欺骗系统缓存位置。 **操作步骤**(以Windows为例): 1. 在其他创建缓存目录(如`D:\yolo_cache`) 2. 以管理员身份运行CMD执行: ```bash mklink /J "E:\ultralytics\datasets\PCB\cache" "D:\yolo_cache" ``` 3. 保持代码中的数据集路径不变: ```python model.train( data=r"E:\ultralytics\datasets\PCB\data.yaml", # 原始路径 cache="disk" # 缓存将自动写入D ) ``` **关键验证点**: ```bash # 检查符号链接是否成功 dir E:\ultralytics\datasets\PCB # 应显示类似:<JUNCTION> cache [D:\yolo_cache] ``` **注意事项**: - 需要**管理员权限** - 原数据集目录下不能有名为`cache`的现有文件夹 - 删除缓存时需同时处理原始路径和映射路径 --- ### **方案3:环境变量重定向(跨平台通用)** **原理**:通过设置临时环境变量`DATASETS_CACHE`,强制YOLO的缓存系统使用指定路径。 **操作步骤**: 1. 在代码最前面添加: ```python import os os.environ["DATASETS_CACHE"] = r"D:\yolo_cache" # 自定义路径 ``` 2. 保持原有训练配置不变 **兼容性说明**: - 该方法对Ultralytics YOLO v8.0+有效 - 需确保目标目录有写入权限 --- ### **各方案对比** | 方案 | 操作难度 | 是否影响原始数据 | 跨平台支持 | 长期维护成本 | |------|----------|------------------|------------|--------------| | 迁移数据集 | ★☆☆☆☆ | 是 | 完全支持 | 低 | | 符号链接 | ★★★☆☆ | 否 | 仅Windows/Linux | 中 | | 环境变量 | ★★☆☆☆ | 否 | 完全支持 | 低 | --- ### **补充建议** 1. **缓存空间预估**: - 每个epoch的缓存大小 ≈ 数据集图片数量 × 平均单图尺寸 - 典型PCB缺陷检测数据集(1万张图)约需 **15-25GB** 缓存空间 2. **缓存清理策略**: ```python # 在训练脚本末尾添加自动清理 import glob for cache_file in glob.glob(r"D:\yolo_cache\*.cache"): os.remove(cache_file) ``` 3. **SSD性能优化**: 如果使用机械硬,建议通过`workers=2`降低数据加载并行度,避免磁IO成为瓶颈。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值