起因:
近日各类专业课程需要安装各种各样的apps,明明装入了D盘,C盘却又小了一圈。
网友图片,但是(有点浮夸)
于是乎我多方查阅,寻找C盘减负的方法。虽然本课程主要是软件相关,但软件和硬件常常交互,于是本着记录学习过程中涉及到的软硬件知识,还是写下了本篇。
探索几种方法如下:
1.安全软件清理(最便捷):
杀毒软件都会带有清理的功能,譬如鲁大师,360等等。(当然其也因附加的一些捆绑类而饱受诟病,这是从用户的角度来看。从我们的角度来看,毋庸置疑这体验其水平之高)。
360的弹窗、臃肿已经很严重了,想让系统轻量化一些,除了进行优化、清理以外,常驻软件尽可能的不要影响到系统本身。火绒安全软件杀毒能力和防护能力属于比较初级的阶段,并不算顶尖水准。但好处是占用系统资源低、不打扰用户。即便如Tencent也会给你弹各种东西,毕竟不弹白不弹,你还是得用它。
火绒要保证你不受打扰,狠起来也挺敢打,比如把腾讯的产品当病毒给拦了.......
应用上手很是简单,使用清理功能就是了;清理几类垃圾:系统垃圾、常用软件垃圾、注册表垃圾、快捷方式。
扫描完看到如下:
探幽索径,看一下到底是什么东西这么大内存:
.NET全局程序集缓存? 听起来是像C盘的什么核心文件,不敢删....那赶紧上web搜索一番:
可以看到,有.aux,.exe, .dll文件:
1) .aux:通常用于存储辅助信息的文件
通常用于辅助 LaTeX 文档处理。LaTeX 是一种广泛用于排版科技论文、书籍和报告等文档的标记语言。当使用 LaTeX 编译生成文档时,会产生一个名为 "main.aux"(其中 "main" 是主文件的名称)的辅助文件。存储了 LaTeX 编译过程中生成的各种信息,包括交叉引用、目录、参考文献等。
2) .exe :可执行文件的扩展名,用于存储可以直接运行的程序
当你双击或者通过命令行运行一个 .exe 文件时,操作系统会加载并执行其中的代码。
.exe 文件通常包含了一系列指令和数据,用于实现特定的功能。它可以是一个独立的应用程序,也可以是一个安装程序或者一个系统工具。
3) .dll :动态链接库的扩展名,存储可被多个程序共享和重复使用的代码和数据
.dll 文件通常包含了各种函数、类、资源和变量等,可以被其他程序调用和引用。通过在程序运行时动态加载和链接 .dll 文件,可以实现代码的模块化和复用。可以被多个程序同时使用,减少重复代码的冗余。
STFW后,大致介绍如下:
NET全局程序集缓存(Global Assembly Cache,简称GAC),
GAC提供了一个统一的位置,用于存放那些需要被多个应用程序共享的程序集(exe,dll,aux)。
GAC.是一个特殊的文件夹,用于存储和管理在计算机上全局共享的.NET程序集。它是.NET Framework提供的一个机制,用于管理程序集的部署、版本控制和共享。
在GAC中,程序集被存储在特定的文件夹路径下,并命名为程序集的全名。这些程序集可以被多个应用程序共享,并且不需要每个应用程序都将程序集复制到自己的目录中。这样一来,可以节省磁盘空间,并确保各个应用程序使用的是同一个程序集版本,从而避免了版本冲突和重复部署的问题。
全局程序集缓存中放置的程序集必须具有相同的程序集名称和文件名(不包括文件扩展名)。 例如,程序集名称为 myAssembly 的程序集必须具有名为 myAssembly.exe 或 myAssembly.dll 的文件。
由.NET 编译生成的EXE文件或DLL文件等就是程序集,例如:System.Data.dll。
1、 程序集清单:和我们在淘宝买东西的配送清单一样就是说明里面包含了什么东西。
2、类型元数据:类型元数据是描述程序集中定义的类型的信息,由一些元数据表组成,包含 类、方法、属性、参数、返回值等。
3、MSIL代码:每一种类型的二进制代码,这些代码存储为与机器无关的MSIL代码。
4、资源:程序的不可执行部分,比如图片等。
所以,.NET全局程序集缓存不必要,你觉得占空间就删掉,下次加载应用时等它再生成这些,大不了多等会就是了。
2.应用专清(可选)
如果你专门去看一看,会发现Wechat竟然在C盘占了几个G?! 平时我们使用微信进行文件传输,微信也会自动缓存收到的信息。
可以看到,默认是开启中小文件自动下载的。 同时在文件管理中,手动改变保存位置到D盘,这样数据就不会占用C盘内存。
迁移后C盘原位置文件夹大小直接清零:
同理,对于QQ或者别的应用,先打开设置看看文件缓存在哪,然后顺手改一下,(养成好习惯)。
3. 曲径通幽----细究C盘文件
知其然知其所以然,前面解一时之渴,不如找到根源加以解决。现在就来看看,到底什么文件在C盘吃内存?
首先看到,是用户(Users)极大:
1)进入Users目录,发现.android很大(约有7-8个G)以及.avd映像也是同样(这里已移动至D盘)
查询得知是安装android studio时配置的环境变量:
在 Android studio相关优化配置(包括配置环境变量、汉化、冷启动) - 知士荟 (learnerhub.net) 中就有关于优化中对存储位置的改变,这里不多做赘述;
查看每个文件夹的属性后,发现加起来不过10G,远远不止前一级文件夹显示的50+G,难不成内存活活消失了??
探索半天,还真是消失了————
打开选项,看到隐藏的文件(图标较暗):
果然,占了剩下的接近50G......
根据名字就能知道,这是关于应用的数据。 其组成如下:
有你在各种程序里的自定义设置,包括程序里可以个性化设置而不能影响其他用户文件,临时文件夹,快速启动文件夹等。
简单地来说,都是用来存放软件的配置文件和临时文件的,里面有很多以软件名称或软件公司命名的文件夹。
理论上都可以删除。
Appdata中以Roaming(漫游)为最:
(Roaming里确实都是些应用相关的文件夹)
2)在文件资源管理器中打开属性,改变位置即可(可50G+)
成功移动,最后把原C盘中的对应文件夹删除即可。
同理,对Roaming:
成功移动:
注意!!: 复制完后,可能C盘原位置仍然有Roaming文件,不影响,可以删除(重点是更改完位置后要点击确定,不然你数据复制过去了,文件默认位置还是C盘的Roaming)。上面左边的图片中,可以通过上面一栏是否有“位置”这一栏判断是否是本体的Roaming。
觉得不保险可以观察两天,因为是漫游的数据,可以通过修改时间判断:
C盘的Roaming:
D盘的Roaming:
可以看到,C盘里的旧的Roaming已经是老数据的,直接删除就是,不会有影响。
3)注册表法(慎用):
定位:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
修改里面AppData对应的路径到D盘自定义位置,比如D:\Users\Admin。
原理:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders 是 Windows 注册表中的一个键路径。它包含了当前用户(当前登录用户)的一些特殊文件夹路径配置,用于指定不同的系统文件夹的位置。
在这个路径下,每个子键对应着一个特定的系统文件夹,比如桌面、文档、下载等。通过修改这些子键的值,可以改变相应系统文件夹的默认位置。
此外,Windows 10 中有一个更新的路径 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders,用于存储类似的用户文件夹路径配置。这是由于 Windows 10 引入了新的文件夹识别方式,并逐渐迁移到 User Shell Folders 路径下。
为什么说慎用:这样改后,C盘确实是腾出一大堆空间,但是后续程序启动或者别的操作可能会产生大影响;毕竟一个本科生学软硬件只才学到皮毛,到底有影响也说不明白,所以说尽量还是不要毕其功于一役,慎用,慎用!
4)根据文件名判断类型进而删除(几百M不等)
对于一些/Temp 表示是临时文件,删!,当然,更改系统临时文件夹的位置就能一劳永逸:
(可以看到,定义了临时文件存储位置的系统变量"TEMP" and "TMP"全指向C盘!)
这里把两组变量编辑到空闲的D/E盘中即可减负。
5)用cmd对休眠文件清理(1~10G)
系统休眠文件 "hiberfil.sys" 是 Windows 10 中用于保存系统休眠时的内存数据的文件。当计算机进入休眠状态时,系统会将当前的内存数据保存到该文件中,以便在唤醒时能够恢复到之前的状态。
默认情况下,"hiberfil.sys" 文件位于系统盘(通常是 C 盘)的根目录下,并被设置为隐藏的系统文件。由于休眠文件保存了整个内存的数据,因此它可能会占据较大的空间,一般与系统的内存容量相对应。
打开cmd.
- 输入命令 powercfg -h off。这将禁用休眠功能,并删除系统休眠文件。
- 如果以后需要重新启用休眠功能,可以使用命令 powercfg -h on 来重新启用,并重新生成 "hiberfil.sys" 文件。
结果展示:
成功!!(虽然是D盘空间换C盘)
参考:c盘突然大了几十g,roaming这个文件夹怎么这么大? - 知乎 (zhihu.com)
清除ASP.Net缓存_net程序集缓存文件可以删除吗-CSDN博客
Android studio相关优化配置(包括配置环境变量、汉化、冷启动) - 知士荟 (learnerhub.net)