開発用Macにどのくらい容量が必要か

この記事は、[上智大学エレクトロニクス研究部Advent Calendar](https://qiita.com/advent-calendar/2020/sophia_ele_lab)第13日目の記事です。

## tl;dr
- 256GBが必要。512GBもあれば動画を沢山保管しない限り十分。

## はじめに

パソコンを買うときに迷うのが本体の容量です。CPUやRAMはある程度必要なスペックを予想できても容量に関しては予測がつきにくいです。ゲームを購入したり、新しく開発ツールを入れたり、動画をたくさん扱うためにディスクを逼迫したり…
とはいえ、ここ1,2年Macを使ってきた肌感として256GBだと少し心許ない、512GBあれば大分余裕ということがわかりました。とはいえ肌感だけで記事を書いて終わりというわけにはいかないので、ディスク使用量の内訳を見ながら解説していきます。

## 内訳

### MacOS標準のツールで見てみる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/329945/79e24d6a-c681-40e3-fd0d-b3ba0c3401c8.png)

ご覧の通り半分以上のディスクが埋まっています。これで割と減らしたほうで、動画を保管していたり、Adobe製品をたくさんインストールしていたときは80%くらいのディスクを使っていました。

- Applications: 17.03 GB
    - `Photoshop.app`
    - `Word.app`
    - `Docker.app`
- Documents: 13.05 GB
    - GitHubから落としたものやnode_modulesがここに含まれる
- System: 11.35 GB
    - MacOS自体だからしょうがない
- Other: 125.81 GB
    - これがめちゃくちゃ多いです。一体中身はどうなっているのでしょう？

### Otherの中身を調べる

#### `Application Support`

Macでは、アプリケーションが保持しておきたい情報を `Application Support` というフォルダに入れています。この中身を調べてみましょう。

```bash
du -h -d 1 ~/Library/Application\ Support | sort -rh
#  20G	/Users/tomtsutom/Library/Application Support
# 6.0G	/Users/tomtsutom/Library/Application Support/Spotify
# 4.4G	/Users/tomtsutom/Library/Application Support/Google
# 3.4G	/Users/tomtsutom/Library/Application Support/Adobe
# 2.2G	/Users/tomtsutom/Library/Application Support/Code
# 956M	/Users/tomtsutom/Library/Application Support/Slack
```

割とたくさん容量を使っていますが、125.81GBには遠く及びません。ちなみにSpotifyがこんなに多いのは1,000曲くらいお気に入りに入れているからです←

#### `Caches`

ここには一時的なデータが保存されています。消してしまっても問題ないものではありますが、消した直後はアプリケーションの動作が遅くなるかもしれません。

```bash
du -h -d 1 ~/Library/Caches | sort -rh
#  15G	/Users/tomtsutom/Library/Caches
# 4.2G	/Users/tomtsutom/Library/Caches/com.spotify.client
# 3.3G	/Users/tomtsutom/Library/Caches/Yarn
# 2.1G	/Users/tomtsutom/Library/Caches/Google
# 1.6G	/Users/tomtsutom/Library/Caches/Adobe
# 1.2G	/Users/tomtsutom/Library/Caches/Homebrew
# 676M	/Users/tomtsutom/Library/Caches/ms-playwright
```

ここが肥大化している可能性も考えましたがアプリごとに見ると少ないです。

#### `Containers`

ここはアプリケーションがサンドボックス的に使うディレクトリです。

```bash
du -h -d 1 ~/Library/Containers | sort -rh
#  20G	/Users/tomtsutom/Library/Containers
#  18G	/Users/tomtsutom/Library/Containers/com.docker.docker
# 910M	/Users/tomtsutom/Library/Containers/com.goodnotesapp.x
# 654M	/Users/tomtsutom/Library/Containers/maccatalyst.com.goodnotesapp.x
# 431M	/Users/tomtsutom/Library/Containers/com.goodnotesapp.x.mac
```

はい、Dockerがたくさん使っている犯行現場を目撃してしまいました。1アプリで18GBというのは他のアプリケーションと比べてもとても大きな数字です。とはいえこれでもマシな方でひどいときには平気で80GB程度使ってしまうこともあります。
ここを縮小するには不要なイメージやボリュームを削除すると良いです。ネットを調べるとたくさん記事が出てくるのでここではひとつだけ紹介することにします。
[Docker for Macを使っているとストレージ容量不足になる問題をなんとかする
](https://qiita.com/ktsujichan/items/726e0f896e30b355fee1)

### 結局どこが一番容量を使っているのか

なんとなくたくさん容量を使うアプリケーションは分かりましたが、合計60GB程度で120GBの半分です。残りの60GBはどこへ行ってしまったのか… それを調べるべくルートディレクトリに対して `du` コマンドを使ってみました。

```bash
du -h -d 1 / | sort -rh
# 135G	/System
#  75G	/Users
#  16G	/Applications
# 9.1G	/private
# 6.9G	/usr
# 5.5G	/Library
# 177M	/opt
# 2.4M	/bin
# 1012K	/sbin
# 4.5K	/dev
#   0B	/cores
#   0B	/Volumes
#   0B	/.vol
```

はい、完了するまでに18分ほどかかりました。
どうやら、残りの60GBは `/System`の中にまぎれているようです。流石にこの中身を消すのは怖いので調査はこのくらいにしておきます。

### 結論

謎に60GBを消費されてしまうけど、とりあえず256GB容量があれば問題なく開発できる！