Macのストレージは512GB以上を買おうと言う話

# はじめに

MacBookを選ぶ際は、メモリ 8GB、SSD 512GB以上を選びましょう。

# 想定読者

- MacBookが欲しいエンジニア
- 吊るしモデルでいいやと思っている人

# 事象

ストレージ不足で、Dockerを起動しようとしたら以下のエラーが出た。

```
api-dbsrv01           | 2023-12-20T23:22:53.269082Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
api-dbsrv01           | 2023-12-20T23:22:53.311464Z 1 [ERROR] [MY-012585] [InnoDB] Linux Native AIO interface is not supported on this platform. Please check your OS documentation and install appropriate binary of InnoDB.
api-dbsrv01           | 2023-12-20T23:22:53.312003Z 1 [Warning] [MY-012654] [InnoDB] Linux Native AIO disabled.
```

```
api-dbsrv01           | 2023-12-20T23:25:57.611704Z 1 [ERROR] [MY-011092] [Server] Upgrading the data dictionary from dictionary version '0' is not supported.
api-dbsrv01           | 2023-12-20T23:25:57.615894Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
api-dbsrv01           | 2023-12-20T23:25:57.616713Z 0 [ERROR] [MY-010119] [Server] Aborting
tutorial-go-fr-app-1  | go: downloading github.com/aws/aws-sdk-go v1.49.0
api-dbsrv01           | 2023-12-20T23:25:57.695788Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.29)  MySQL Community Server - GPL.
api-dbsrv01 exited with code 1
```

```
api-dbsrv01           | 2023-12-20T23:30:36.038352Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.29) initializing of server in progress as process 100
api-dbsrv01           | mysqld: Error writing file '/var/lib/mysql/auto.cnf' (OS errno 28 - No space left on device)
api-dbsrv01           | 2023-12-20T23:30:36.089122Z 0 [ERROR] [MY-010076] [Server] Initialization of the server's UUID failed because it could not be read from the auto.cnf file. If this is a new server, the initialization failed because it was not possible to generate a new UUID.
api-dbsrv01           | 2023-12-20T23:30:36.089685Z 0 [ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.
api-dbsrv01           | 2023-12-20T23:30:36.091659Z 0 [ERROR] [MY-010119] [Server] Aborting
api-dbsrv01           | 2023-12-20T23:30:36.099581Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.29)  MySQL Community Server - GPL.
```

# 一時的な解決策

- 不要なアプリを削除する
- 不要なdocker imageを削除する
- 不要なdocker volumeを削除する
- 不要なnode_modulesを削除する

![スクリーンショット 2023-12-21 21.03.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1312905/2863ac6c-76cb-704f-3d01-0e875c1bfde4.png)

<br>

私の場合は、以下を削除して対応しました。

- Unityを削除した
- 不要なdocker imageを削除する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1312905/01c5a36a-7fa7-b3dd-a92d-999893a5fbe1.png)

- 不要なdocker volumeを削除する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1312905/a88710a0-c630-7378-b6b4-10440f448619.png)


# 学び

- MacBookを買うときは、512GB以上を買う

# おまけ

M1 MacBookair メモリ8GBで5分間隔でcronにtopを取得するようにして、2021/7/4 〜 2023/4/22までの期間で集計した結果以下のようになりました。ほぼ、メモリ使用率90%以上で、仮想メモリもガンガンに使っている状況でした。基本的に、ブラウザは、GoogleChrome、docker立ち上げっぱなし、な環境で使用しておりました。

縦軸：メモリ使用率
横軸：タイムスタンプ

![output.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1312905/f10d2a44-c3f4-140d-3d5f-7d96b37c84f7.png)


# まとめ

急に、dockerのエラーが出て、DBのコンテナが立ち上がらなくなったので、なんでだろうと調べてみたら
ストレージ不足が原因でした。MacBookを買うときは、512GB以上のストレージを買うこと。メモリも16GB以上がいいよ.

ご覧いただきありがとうございました。よろしければ、いいね、フォローよろしくお願いいたします。