0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

找回占用太多硬盘空间的方法

mqfo_kejimx 来源:未知 作者:李倩 2018-03-31 08:39 次阅读

我最近这两天正在整理自己各种电子设备中的文件。没用的删掉,其他东西摆一摆位置什么的。折腾一整天,本来想看一看删了多少东西的时候,我发现了一个诡异的现象。我的硬盘剩余空间变得非常小,甚至不如清理之前,而占据空间最大的,竟然是「系统」。而上面写的 223G 可用更是非常诡异,实际上可以用的剩余空间 20G 都不到。

▍文件系统错误

遇到这种异常膨大的东西时候,首先会想到的可能性是文件系统错误。早在一年前,我的电脑就出现过类似的状况,就是由于文件系统错误导致的,只不过那次膨胀的是「其他」,而这次是「系统」。于是我重启进入 Recovery(开机时按住⌘Command-R)运行磁盘工具进行急救。对于系统盘而言,急救只有在 Recovery 中进行,才可以解决某些问题。

▍应用程序数据残留

在以前版本的系统中,「其他」体积特别大而又搞不清楚为什么大多数情况都是因为这个。

在 macOS 中,应用程序一般将自己的数据存放在:~/Library/Application Support中,在应用程序删除时,这些文件并不会被自动删除。目的是能够让你下次安装软件的时候直接继续按照之前的状态使用,但是 macOS 一直在这件事情上毫无节制,使得很多软件残留了大量的文件。

如果你对自己的电脑里装了什么心里很有数的话,是可以尝试手动清理的。CleanMyMac 虽然能够清理掉很多这里的缓存,但是会有不少漏网之鱼。我删掉了五六个还蛮大的文件夹,但是并没有哪个文件夹能大到占 200G。

▍本地快照

本地快照是一个很早就有的特性。在 APFS 中,当你对硬盘进行修改的时候,文件系统会将这些被修改的文件备份起来,生成一些快照。这些文件在一般情况下并不会占用太多的空间,因为 24 小时后就会被系统删除。但是如果你在一天之内删除或者修改了太多的文件的话,就会出现这样的状况了。

虽然苹果声称,这些文件将会在空间不足时自动删除,但这些都是真实存在的空间占用。假如你现在要进行的操作所需的空间大于当前的可用空间(比如安装 Boot Camp),就会直接报错了。所以掌握清除本地快照的方法可以在关键时刻帮你解决问题。

如何清除本地快照

在 macOS 10.13 之前的版本中,文件存储在/.MobileBackups这一文件夹中,可以直接删除。而且也可以通过在终端中运行sudo tmutil disablelocal关闭本地快照功能。但是在 10.13 之后,APFS 将本地快照引入了底层,快照文件的存储位置实际上是在另一个分区中!(与 APFS 的容器格式特性有关)所以你无法手动删除这些文件,而上面提到的关闭本地快照的命令也被苹果移除了。

所以在 APFS 中,我们就需要更复杂的步骤来清除这些文件。首先在终端中输入以下命令,列出快照列表。

sudo tmutil listlocalsnapshots /

图中显示了目前在本地磁盘中的快照列表,要删除它们,你可以一个一个删,也可以整个删掉。删除单个快照的命令是:

sudo tmutil deletelocalsnapshots [Date]

使用的时候把这里的[Date]替换成上图中的日期编号即可。注意只复制日期,如:

sudo tmutil deletelocalsnapshots 2018-03-19-055945

批量删除的时候就比较复杂了,苹果并没有提供一个删除全部快照的命令,只提供了另一个删除指定大小快照的命令:

thinlocalsnapshots / [purge_amount] [urgency]

其中,[purge_amount]要填写删除的大小,以 Byte 为单位,[urgency]要填写挤压的程度,范围从 1 到 4,会使用不同的清除方案。

对于我们此处这个删除全部的需求来说,我们直接把要删除的大小设置为 100G,挤压程度为 4 即可。命令为:

sudo tmutil thinLocalSnapshots / 100000000000 4

运行需要一定的时间,执行成功后将会消除 100G 大小的快照。

图里少了个 0,别介意

接下来再尝试列出快照列表,如果还有就再执行几次,最多三次应该也就清理的差不多了。这时候再打开关于本机,就可以看到空间已经被释放了。

什么是本地快照

本地快照是 Mac 文件保护的机制中的一环。Mac 的备份主要由三部分构成:

Time Machine

文件版本

本地快照

首先第一个大家非常熟悉,Time Machine 属于定时备份,在固定的时间后进行一次增量备份,备份的位置必须是其他分区。在目标磁盘没有满之前,会一直保存下去。

第二个文件版本会在修改文件时,macOS 会在/.DocumentRevisions-V100保存文件最近修改的版本,但是需要文件格式支持。备份与本分区共享可用空间,在没有达到限制大小之前,会一直保存下去。有些时候一些视频文件被存储了旧版本的话会导致极大的空间占用,但还好这玩意比较容易清理,很多软件都能干。

本地快照则比较低层,对于磁盘中所有的文件修改,本地快照都会进行备份,备份与本分区共享可用空间。它与文件版本除了能够支持所有文件这一区别外,还可以对磁盘的格式化进行恢复。但是这一备份只保留 24 小时,意味着该机制仅仅是作为一个备份到 Time Machine 之前的事故预防措施而存在的。所以清除本地快照一般情况下没有任何风险。

▍一些唠叨

不管是曾经困扰 Mac 用户的「其他」还是现在的「系统」,都体现了一个问题,就是苹果对与自己磁盘占用的表示非常不明确。我个人认为,在图表中清楚的标明备份所占用的体积是非常有必要的。否则本地快照这样一个频繁变化且幅度如此之大的磁盘占用会相当程度上影响用户对硬盘剩余空间的判断,这个磁盘空间的图表就变得没有任何意义了。

由于本地快照功能现在直接整合在 APFS 之中,使得它已经不再能够被关闭,而苹果又没有提供一个方便的方案来清理这些文件,希望以后能有一个优雅一点的解决方案。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 硬盘
    +关注

    关注

    3

    文章

    1225

    浏览量

    56194

原文标题:「系统」占用太多硬盘空间?试试用这些方法将它找回来

文章出处:【微信号:kejimx,微信公众号:科技美学】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    恢复不是难事 找回硬盘丢失数据全攻略

    。  硬盘保护卡的特点:  不占用硬盘空间、被破坏的数据瞬间复原、简便易用、全面保护电脑参数/设置安全。  2.数据保护软件:  一些主板都提供了硬盘数据的保护功能,例如捷波的“数据恢
    发表于 03-30 14:36

    硬盘空间丢失原因揭秘

    硬盘空间丢失原因揭秘硬盘是电脑中存储数据的关键设备。但是,经常有朋友的硬盘会出现空间丢失的情况。今天,我们就来探讨一下硬盘空间丢失的各种原因
    发表于 02-26 15:31

    电脑硬盘空间

    我的电脑在装系统的时候把C盘分的太小了,我该怎么办呢?谢谢帮忙
    发表于 12-02 21:43

    LabVIEW最小可执行系统应用程序发布

    (LVRTE2013std.exe,257MB)两个版本.如果仅使用LabVIEW的基本功能开发应用程序,生成的EXE可执行文件,在Mini版的LV Runtime上就可以执行,可减少硬盘空间占用量,安装后仅占用63MB
    发表于 10-13 21:45

    怎样把图片大小变小(是占用硬盘空间变小)?

    由于有很多张数据波形图片要插入到word中形成为一报表,而原图片的大小较大,形成为的word可能会太大。我希望是用labview自动将图片大小变小(是指占用硬盘空间大小变小)后再插入word报表中,请问应该如何此功能呢?
    发表于 06-09 00:43

    怎么修改封装占用空间

    `在画pcb封装时碰到的问题,可能原件本身并不大但是会多出来一点这个时候软件给他定义一个方形区域,在这个区域就不允许别的原件放在里面了。但是实际原件用不到的空间也被软件定义为原件占用空间了,我想问问这个原件
    发表于 08-20 13:43

    虚拟机硬盘空间不足解决方案介绍

    大家都知道,虚拟机主硬盘空间越用越大,空间很难释放,如果对其执行格式化操作,后面不堪设想。假如增添另外一块虚拟硬盘,问题便迎刃而解,添加虚拟硬盘方法
    发表于 07-03 01:27

    window10下的硬盘空间与ubuntu下的磁盘大小

    一次,windows 下磁盘空间占用大2G,window10 下的硬盘空间快不足了但是ubuntu 下看磁盘大小占用不变root@ubuntu:/home/forlinx/work
    发表于 01-05 06:55

    黑群晖可用储存空间只有9g

    把旧电脑装了黑群晖,换了好几个硬盘装好之后,硬盘空间正常,但是储存空间都是为9点几G,新增按钮为灰色,无法新增,请问大神怎么解决啊?
    发表于 02-25 18:00

    如何显著减少PCB占用空间

    要监视更多的传感器。本文将讨论如何显著减少PCB占用空间,增加通道密度以及最大限度地发挥其他组件和功能与TI微型数据转换器高度集成的优势,从而以更小的尺寸创造更多的价值。第一个优点:PCB占用
    发表于 11-09 06:13

    Vmware虚拟机里的Ubuntu硬盘空间越来越大怎么解决

    \\vmware-vdiskmanager.exe"-k"C:\\Work\\Software\\1604_64bit\\Ubuntu 16.04.5 (64bit).vmdk"参考:VMWARE 占用硬盘空间越来越大的解决方法
    发表于 11-22 17:57

    C盘占用空间太大的解决方法

    本文档内容介绍了C盘占用空间太大的解决方法,供参考。
    发表于 09-20 14:39 0次下载
    C盘<b class='flag-5'>占用</b><b class='flag-5'>空间</b>太大的解决<b class='flag-5'>方法</b>

    安装和使用双硬盘方法

    如今硬盘容量是越来越大,价格也越来越便宜。对于用户来说,硬盘空间是韩信点兵,多多益善,而为电脑安装两块硬盘便成了扩容的最常见手段。不过,如何安装和使用双硬盘也成为我们必须面对的问题。
    发表于 09-20 15:18 8次下载

    如何了解硬盘是否损坏

    硬盘无损分区是指在不破坏硬盘内原有数据的情况下,对分区进行调整(例如 调整大小,1个区切分成2个区, 新增分区等等),使硬盘空间分配适应新的存储需求。
    的头像 发表于 01-01 17:42 2745次阅读

    keil编译代码后,代码占用Flash的空间

    keil编译完成后会有如下图一的指示图一Code:代码占用空间; RO-data:只读常亮大小(Read Only,Const类型); RW-data:初始化了的可读变量大小(Read Write
    发表于 12-02 11:21 10次下载
    keil编译代码后,代码<b class='flag-5'>占用</b>Flash的<b class='flag-5'>空间</b>