↓ 跳过正文
  1. 文章/

做磁盘空间分析时,我才用明白了旭日图

目录

以前查看文件夹的空间占用,我习惯先按大小排序,再往里面一层层找。哪个目录大,就点进去看看。

开发 MangoDisk 的磁盘空间分析时,我第一次认真用上了旭日图(Sunburst)。把目录数据画出来以后,才发现有些信息,列表里虽然也有,却没那么容易看出来。

大小之外,还有层级
#

拿截图里的缓存目录来说,总共占了 16.4 GB。列表很清楚:ms-playwright 占 4.41 GB,JetBrains 占 2.55 GB,Google 占 1.63 GB。

如果只想找占用最大的目录,看到这里就够了。

但我还想知道,这些空间主要集中在它们下面的哪里。用列表看,需要进入目录,看完再返回,然后进入另一个目录。几个目录来回比较,很容易忘记刚才看到的结构。

旭日图把这些层级放在了同一张图上。中心是当前目录,往外一圈圈展开,每个扇区对应一条分支。

MangoDisk 中的多层旭日图,展示 Caches 目录的空间占用和子目录层级

比如 Google 下面的 Chrome → Default → Cache → Cache_Data,在图里可以直接顺着看出去。这条分支的空间集中在哪里,中间经过了哪些目录,不用反复点进去才能知道。

我觉得它最有用的地方,就是能同时看见几层目录之间的关系。

矩形树图也很顺手,但看的感觉不同
#

同一份数据换成矩形树图(Treemap),大目录变成大块,小目录变成小块。扫一眼,哪里占得多很醒目。

同一目录的一层矩形树图,用矩形大小展示各个子目录的空间占比

只显示一层时,画面很清楚;展开多层后,又能看到大块里面是怎么分的。像 ms-playwright,总占用虽然最大,内部其实分散在多个浏览器目录里。

展开多层的矩形树图,可以同时查看大目录内部的空间分布

两种图看起来都在展示大小,用起来却各有顺手的地方。

想先找空间大户,我会看矩形树图。想顺着某个目录理解下面几层的结构,旭日图更容易让我跟上。

旭日图有点像把原本需要逐层打开的目录,提前摊在了眼前。

展示得多,不一定看得清
#

做的时候也发现,层级不能一味加深。

旭日图越往外,小扇区越多,名称放不下;矩形树图也是,展开太深以后,画面被切得很碎。数据都在,却不一定读得明白。

所以最后还是保留了深度选择和文件列表。图上看到一块值得关注的地方,再去列表里确认名称、大小和路径,比硬把所有文字塞进图里舒服。

这次开发让我对旭日图有了一个很具体的认识。以前只是知道有这种图,现在遇到“一个大目录,下面还有很多层,想看看占用究竟集中在哪”的问题,会自然想到它。