我如何确定正在慢慢吞噬我的高清空间?


104

每隔几天,我都会在MacBook上收到一则通知,称它已运行或硬盘空间不足。奇怪的是,重新启动计算机将使我能够恢复千兆字节的空间(过去,它能够恢复约2.2GB)。但是,我无法在个人活动中发现占用该空间的任何东西。

这可能是流氓iTunes播客或Mac会自动下载的大型软件更新-这些文件中的任何一个在重新启动后会回收空间吗?

我可以想到的一种可能性是FileVault发生了某种磁盘泄漏,分配但没有释放文件。这有意义吗?有没有我可以运行的工具来确定该空间的去向?假设它 FileVault,我应该尝试禁用它吗?在几乎满载的计算机上打开FileVault的最佳方法是什么?


1
请:第一次问这个问题时:您使用的是豹还是雪豹?
Graham Perrin

3
@Graham我肯定一直在使用Leopard,因为直到我发布此问题一个月后,Snow Leopard才被释放
Kyle Cronin

Answers:


49

DaisyDisk(免费试用,9.99美元)

在此处输入图片说明

DaisyDisk有点像Windows的WinDirStat,因为您可以将文件视为可视层次结构,并找出哪些文件占用了最多的空间。

Daisy Disk擅长的地方有两个:

  1. 它经过编程,可以有效地使用并行进程来快速查找所有特殊情况,在这些特殊情况下,Apple的文件系统分配对于Core Storage和APFS以及本地快照 /容器而言更加独特。
  2. 它还很好地解释了所有这些特殊情况和错误。当您的分配中有大量的丢失空间时,它使您无需学习在命令行中清除本地快照的所有详细信息,从而知道何时启动引导恢复以运行磁盘实用程序以在图形不显示时检查磁盘本身。正确加总,等等...

是的,是花钱,但是从长远来看,它一直是可靠的工具,因此希望您从长远来看可以节省理智和时间。

感谢Sathya 在“超级用户”中的回答


这是最好的。我以6美元的黑色星期五特卖购买了它,它确实易于使用且易于理解。真的很棒的工具。谢谢
Aleksey Timoshchenko '17

1
很好的建议-在寻找没有被任何标准工具(du等)清楚揭示的文件时,该应用程序立即指出了问题所在。很值得一个tenner。
dartacus

95

我遇到了一个非常相似的问题,因此我决定编译几种方法来解决它。因此,下面是这些选项,其中一些是我从此处已经提供的答案中获得的。我了解到这个问题有点离题,但与答案是一致的。它有很多部分,而这些都是我可以尝试使用的所有软件。

通常,最好密切注意使用以下sudo选项,以便该软件可以访问每个文件,其中可能包括一些大的隐藏文件


以下是用于检查磁盘使用情况的应用程序的简要列表:

  • GrandPerspective仅是图形形式,使用树形图,可以在扫描之前通过逻辑或物理方法测量文件,显示/隐藏包装内容以及即时更改配色方案。它还能够保存扫描的数据以存档或比较多个窗口。

  • 磁盘清单X还使用树形图图形方案,但同时具有文件夹和文件的列表视图。重排功能不如GrandPerspective,也不如OmniDiskSweeper,但在混合两者方面做得很好。它具有一个Finder插件以及三个首选项之间的最多选项。这是最复杂的,但并非全部完成。

  • OmniDiskSweeper是非图形的,与Finder的列视图非常相似。您选择要分析的文件夹或磁盘,它会花一些时间来计算磁盘使用率。然后,您可以删除(移至垃圾箱)列出的所有内容。

所以每个人都有其优势和亮点,但我仍然不确定是否有最重要的一个。他们都是免费的。


还有另一种方法,即应用程序以非最佳方式扫描特定的预期位置和文件以了解空间使用情况。他们基本上收集了一些有关系统的已知信息,这些信息可能会在一个不错的界面上使您的磁盘膨胀,因此您可以查看并确定要删除的内容。

  • CleanMyMac列出了缓存,日志,语言文件,通用二进制文件,开发“垃圾邮件 ”,扩展名和应用程序。它扫描文件,并使用它拥有的一些知识库。出色的界面,易于使用。

  • CleanAppCleanMyMac基本相同:列出应用程序,首选项窗格,语言,缓存...,但同时还增加了社区-显示删除每个文件或捆绑包的人数。还有另一个功能,即日志记录,它记录了移动文件和正在运行的应用程序的活动,以及可以为每件事找到的所有“链接”。它的技术性和详细性更高。它还提供了Treemap的视图,但是我强烈建议您使用其他选项。

  • XSlimmer非常具体。它移除“胖”二进制“多余”的代码,并去掉不需要的语言,因为它说的网站上。通用二进制文件,即使用大量空间来存储文件,以便以几种不同的体系结构和语言运行。因此,这使它们全部缩小以仅满足您的计算机需求。

  • AppCleaner是这里的免费选项,仅列出应用程序,小部件和“其他”。具有一个简单的界面,您可以在其中删除App文件,以便它分析其内部链接并根据该文件删除捆绑包外部的内容。


另一种方法是查找重复文件。有很多商业选择,有些可能比下面列出的更好,我还没有尝试全部。无论如何,我会列出我选择的应用程序,并考虑可以尝试哪些应用程序。

  • TidyUp是该主题中非常知名的应用程序。您可以指定在何处扫描什么样的重复项。它提供了基本和高级模式,以及几种不同的策略和标准。

  • MrClean是一个免费工具,仅扫描文件夹中的重复项并将其丢弃。如果您确定自己在做什么,则非常简单但有效。

  • Chipmunk扫描重复项,让您选择要丢弃的项。它提供了文件夹的节点视图,您可以选择“ 删除文件夹中所有在其他地方重复的文件,反之亦然 ”以及手动选择。扫描所有文件可能会花费很长时间,但是此后做得很不错。

  • “ DupeCheck在其上放一个文件,它将使用您的Spotlight索引来查看您在某处是否存在潜在的重复项。那是关于这个不错的开源应用程序。并不是一次清理空间的好工具,但是随着时间的流逝,它可以帮助您保持空间清洁。

  • 来自网站的DuplicateFileSearcher:“ 是一个免费的功能强大的软件实用程序,可帮助您查找和删除计算机上的重复文件。它还可用于计算MD5和SHA哈希。该软件可在Windows,Linux,Solaris和MacOS上运行。 ”。说够了。


接下来,我将通过引用其他两件事的相关部分来简要讨论一种类似的方法,可以做其他事情来寻找丢失的磁盘空间,而无需安装任何新东西,而只需使用命令行(终端)即可。

这个(很长但是不错)来自MacFixIt论坛(去那里可获得更多选项和详细信息)

在大多数情况下,确实确实有文件占据了该卷的一部分,但是在Finder的正常使用中这些文件是不可见的。

使用Finder的“转到文件夹”功能(在“转到”菜单中),通过粘贴以下路径名来查看这些文件夹的内容大小:

/private/var/vm 
/private/var/log 
/Volumes 

/ private / var / vm目录包含虚拟内存使用的交换文件。随着更多数据从RAM交换到硬盘驱动器上,新的数据被制作出来了。创建它们的整个过程始于每次重新启动或重新启动。不要试图自己删除它们。在启动后以及磁盘装满后,检查所有交换文件的总大小。在Panther中,前两个交换文件为64 MB,然后每个新交换文件的大小是前一个交换文件的大小的两倍(128 MB,256 MB,512 MB,1 GB),最大大小为1 GB。在Tiger中,前两个交换文件为64 MB,下一个为128 MB,其他任何交换文件为256 MB。

如果您不运行每日,每周和每月维护脚本(通过使用实用程序,或者通过在终端中运行命令sudo周期性的每天,sudo周期性的每周和sudo周期性的每月),启动卷上的日志将变为太大了。如果错误频繁发生并正在记录,则可以在/private/var/log/system.log中拥有一个很大的文件。

/ Volumes中的文件应该是已安装卷的别名。不要删除这些别名,因为对它们进行的任何操作都会发生在相应卷的内容上。如果您不确定可以无忧无虑地浏览此文件夹,请在开始之前正确卸载除启动卷以外的任何其他卷,如果丢失的磁盘空间问题仅影响该卷。正确卸下后,可以断开外部FireWire驱动器。

有时,无法为备份找到目标目的地(或目标)卷的备份程序会创建一个与目的地名称相同的文件夹,并将该文件夹放入/ Volumes目录中。在某些情况下,整个启动卷已在/ Volumes内的文件夹中自行备份。如果缺少的空间量约为用户文件夹的大小,则可能是这种备份的原因。如果您使用Carbon Copy Cloner或其他备份或克隆实用程序,并且将其首选项配置为按计划创建备份,并且预期的目标卷未安装或在计划的时间处于休眠状态,则在/ Volumes目录中创建备份。

要检查活动启动卷上通常不可见的/ Volumes目录的大小,请打开一个新的Finder窗口。在左侧列表中选择启动卷,然后选择列视图(三个视图右侧的一个)。从Finder的“转到”菜单中,选择“转到文件夹”,然后粘贴:

/Volumes 

/ Volumes目录在Finder中可见;通过选择它并键入命令I来找到它的大小。据报告,我的/ Volumes目录为12K。

另外一个来自Mac OS X Hints论坛(在这里看不到更多):

您可能需要运行du in终端以查看所有操作。这可能需要几分钟才能运行。

一个示例是打开terminal.app然后运行以下命令:

sudo du -h -d 1 -c /

提示时输入密码,然后放开密码,这将需要几分钟的时间才能运行,请耐心等待。

du代表磁盘使用率。还有df。我喜欢-x在上面的命令中加入:

sudo du -cxhd 1 /

添加到命令行选项后,您可以使用自动服务打开任何应用程序。有了它,您将在GUI上获得不同(更完整)的结果。

或者,如果您在Power PC上使用Rosetta或Snow Leopard之前的任何产品,则可以将上述任何应用程序与Pseudo混合使用。这是一个用于以管理员身份打开内容的小应用程序。像sudo的GUI一样对其进行图片处理。


最后,关于“ X Lab” 有一个完整的新手指南,由于篇幅太长,我在这里不再引用。


1
终端上的du命令+1 :默认情况下已安装,且没有任何废话。

34

磁盘清单X是另一个出色的磁盘空间可视化工具。

磁盘清单X

如果出现故障,则无需FileVault或任何其他第三方软件。

Mac OS X只是一个复杂且现代的操作系统,它使用动态的磁盘空间并且通常是不可预测的方式。交换文件不仅会增长和缩小,而且OS X还具有一个子系统,该子系统可以创建动态加载程序共享缓存,该缓存可以在您不知情的情况下增长到巨大的规模。缓存位于/ var / db / dyld /

永远不要弄乱OS X的缓存和交换文件。引导到SafeMode时,将刷新高速缓存,并在正常启动期间重新创建高速缓存。简而言之,这仅仅是运行OS X的磁盘空间开销。您无法真正恢复或控制缓存。

macfixitforums.com上的某人好心地整理了一系列常见的可疑对象列表,这些内容在“我的磁盘空间去了哪里?”一文中夺走了Mac OS中的磁盘空间。


感谢您提供的链接-这几乎是我一直在寻找的潜在犯罪嫌疑人列表。
凯尔·克罗宁

是的,我也用过。奇迹般有效!
splattne

我也是忠实粉丝。我的副本是PowerPC应用程序,因此它不能与Lion一起玩,但是开发人员刚刚发布了我需要尝试的通用beta版本。
bg2011 2011年

这很棒。发现docker正在为其虚拟机空间占用64GB!
瑟夫·里德

24

下载并运行GrandPerspective,以获得有关所占用磁盘空间的漂亮图形视图-类似于:

在重新引导之前和之后运行此命令,您应该能够看到最大的区别。


好的,下一次我的Mac抱怨它几乎快满了时,我将运行它并发布结果。
凯尔·克罗宁

请记住,大视野只能显示您有权查看的内容。请参阅此线程,了解如何更详细地检查“杂项已用空间”。forums.macosxhints.com/archive/index.php/t-98613.html

一直使用了一段时间,这很好,但是正如user29234所提到的那样,它在我当前的问题上不起作用,因为它无法扫描我的整个系统。
cregox

13

听起来恢复的空间来自于交换(vm)和sleepimage文件。重新启动将清除文件,/var/swap/如果您的内存不足或正在使用笔记本电脑,文件可能会大大增加。如果您使用的是笔记本电脑,则会发现一个名为的文件sleepimage,该文件的大小相当于您已安装的RAM的大小,可以安全地删除该文件-表示从此处删除任何内容都是临时的。

如果您需要的空间超过我建议的空间,则建议使用Grand Perspective或Disk Inventory X之类的应用程序(按建议)查找大文件。您还可以手动删除其他语言的翻译,也可以使用Monolingual之类的应用程序删除其他语言翻译,例如,极端的iWeb在运行Monolingual之后从大约1GB下降到150MB。

如果要关闭FileVault,可以按照Apple的说明进行操作:只需在“系统偏好设置”的“安全性首选项”窗格中取消选中FileVault。


感谢您的单语提示!我确实意识到关闭Filevault应该像取消选中复选框一样简单;但是,它需要的是我目前没有的大量可用空间(并且如果不做一些潜在的危险操作(例如将iTunes和/或iPhoto库移动到外部磁盘)可能永远不会拥有)。
凯尔·克罗宁

从.app中删除内容的实用程序可能会产生意外的后果。例如:我以某种方式修剪或细化的Firefox.app无法自我更新。不管我使用的是Monolingual还是其他一些我都不记得的实用程序,但是随后应用程序的失败使我对不必要的细化感到谨慎。
Graham Perrin

完全同意。磁盘测量实用程序很有用,但这可能是对哪些资源正在缓慢消耗并通过重新启动释放的磁盘空间的问题的特定答案。
hepcat72 '16

11

如果您想使用Apple随附的工具,则不需要任何工具。

从“系统信息”和Apple菜单中的“ 关于此Mac菜单”栏开始。

  • 选择苹果菜单
  • 关于此Mac
  • 更多信息
  • 存储(“ 显示器”和“ 内存”之间窗口的左上方)

在此处输入图片说明

该工具使用Spotlight数据,因此,如果看起来不对,您可以重置Spotlight,并使Mac运行数小时,以重新生成所有用于存储使用情况图表的数据。实际上,在最新的操作系统(10.10和10.11)上,启动时可用空间逐渐减少并清除的许多情况是由于聚光灯卡住并不断生成数据库文件所致。您可以使用以下命令进行检查:

sudo du -sm /.Spotlight-V100; sleep 600; sudo du -sm /.Spotlight-V100

这样,您将获得此目录大小的快照,然后再获取10分钟(如果您不希望重新输入密码,则需要更多时间)

如果您需要更多的细粒度数据,请使用Finder并在计算机的列表视图中打开一个窗口:

  • Shift + Command + C
  • Command + 2
  • Command + J

选中“ 计算所有大小”复选框,然后使用三角形显示文件夹,并跟踪20分钟内使用Mac时正在增长的文件夹。

您也可以fs_usage在终端应用程序中检查文件系统原始访问,但这有点像尝试从消防水带中a一口。如果你可以缩小的过程或者搜索一个文件夹中grep的文件系统活动变得更加有用和有益知道发生了什么事在文件系统访问的最低水平。


9

Omni Group的另一个免费实用的Mac磁盘空间实用程序OmniDiskSweeper


一点都不差的应用程序。该问题中建议的所有3个都有其优缺点。这是最简单的非图形方式,它将按文件大小列出并排序整个磁盘。
cregox

8

实时可视化文件系统活动

fseventer

http://fernlightning.com/doku.php?id=software:fseventer:start

如果您使用Lion

移动时光机

本地磁盘空间将被智能地使用-不会过多地引起系统警报。如果您好奇,可以在终端中运行两个命令:

man mtmd

q

tail -f /private/var/log/system.log | grep -E 'backup|mtm'

—将“终端”窗口放在一旁,将其保留在后台,正常工作一个小时左右。记录的内容应该可以使您放心。完成/完成后,将“终端”窗口置于前台,然后中断正在运行的命令:

controlc

对Mobile Time Machine文件系统的误解

Mac OS X 10.7 Lion:Ars Technica评论(第18页)(2011-07-20)中,存在重叠的感觉,将某些内容描述为次优,并谈论了副本。

可以理解,用于复制的本地磁盘空间这一概念令人震惊,例如“复制某些内容会花费时间,给CPU带来负担”以及其他类似的想法。

从这个意义上说,我怀疑Lion对于移动Time Machine本地快照使用NFS 不能与复制相提并论。怀疑空间的使用非常智能,既不涉及文件的复制也不涉及文件的移动-在目录B树和HFS +卷上的相关级别以及mtmfs中的某个级别上实现的神奇效果。

[macbookpro08:~] gjp22% date
Tue  2 Aug 2011 15:13:04 BST
[macbookpro08:~] gjp22% uname -a
Darwin macbookpro08.centrim.freeman-centre.ac.uk 11.0.0 Darwin Kernel Version 11.0.0: Sat Jun 18 12:56:35 PDT 2011; root:xnu-1699.22.73~1/RELEASE_X86_64 x86_64
[macbookpro08:~] gjp22% sudo fileXray --volume_header /Volumes/MobileBackups
Could not determine an appropriate HFS+ volume from "/Volumes/MobileBackups". The file system type of /Volumes/MobileBackups is 'mtmfs'.

总结:撇开最初的顾虑,大多数人应该发现本地快照是一件好事,对性能的影响是不可察觉的或可忽略的。

雪豹或狮子中的FileVault 1

在更现代的操作系统版本中,FileVault 1使用频段应该没有问题。AFAIR空间是动态释放的,无需注销。

两年前发布问题时,FileVault 1是否对可用空间进行了很好的管理,我不记得了。


1
可以使用禁用本地副本sudo tmutil disablelocal
Lri 2011年

我几乎无法理解,但是标题“文件系统活动的实时可视化”是针对特定问题的完美建议答案!+1
cregox 2011年

截至2015年7月,fseventer已脱机,无法再访问。
fsb

7

找到“罪犯文件”。解

在上述所有答案中,您只需在终端上按此命令即可找出罪魁祸首文件...

此命令查找所有单个文件,其大小都大于大约100MB,然后在终端上打印它们。

sudo find / -type f -size +100000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'

在我的情况下,有一个tomcat日志文件,其容量高达13GB。


6

它看起来像的FileVault可能会导致一些问题,与自由空间的一些问题。除非您确实需要FileVault提供的集成,否则我建议禁用它并使用TrueCrypt。它是开源的,不会疯狂地吞噬自由空间。

您还可以查看本指南,了解如何释放OS X上的硬盘空间或运行磁盘使用磁盘实用程序(例如,Doug Harris建议一个)。

编辑:自从最初回答以来,FileVault在OS X Lion中已被严重破坏,并且更加可靠。


我真的只是在安装操作系统时才打开它,因为这是一台便携式计算机,我担心自己的数据安全。我现在正在研究如何关闭它,而又不会弄乱iTunes,iPhoto等(其库中有无数GB的音乐,照片和电影)。
凯尔·克罗宁

如果需要考虑安全性,请注意以下问题:Mac OS X的TrueCrypt 7.0a无法阻止系统的其他用户访问文件wuala.com/grahamperrin/public/2010/11/09/c?mode=gallery上
Graham Perrin

3

什么尺寸

是一个磁盘空间可视化工具,价格为$ 13.00。尽管与上述其他程序类似,但它也具有一种模式,您可以在其中查看,测量甚至删除属于系统或其他用户的文件。

在此处输入图片说明


1

我像这里的许多其他人一样使用磁盘清单,发现我发现了多个iphone和ipad备份文件。当我深入研究它时,我发现我有4 Gb的备份,这对于我现在已使用较长的旧设备来说已经有两年了。在我的128 Gb硬盘驱动器上,这是一个不错的发现。

如果您的Mac上有多个设备,请查看〜library / application support / mobilesync / backup。每个备份都位于其自己的文件夹中,过时的备份很容易脱颖而出。


1

尝试免费使用应用程序磁盘制图,它可以显示隐藏的系统。您还可以使其显示大于1 Gb的文件,等等。


0

以我为例,这是失控的MySQL / MariaDB实例,由于某种原因,我在笔记本电脑上打开了复制功能。使用以下工具发现:GPL工具-磁盘清单X http://www.derlien.com/downloads/index.html

在我的情况下,MariaDB-正在创建一堆bin-log文件,用于在/ usr / local / var / mysql中复制50个文件,每个文件1GB ....


0

“重启计算机将使我能够恢复千兆字节的空间”一点也不奇怪。afaik,它是刷新其缓存的软件。对我来说,我是大量的Firefox用户(超过100个打开的选项卡),重新启动MacBook会释放大约1到2 GB的磁盘空间(随后,其中充满了新的Firefox缓存数据)。

AFAIK还有其他带有过大缓存的软件;我记得从Mac OS X的早期版本(Snow Leopard?)中,QuickTime更新存储在库中的某个位置,可以删除。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.