「Macは8GBでも十分」「Windowsは16GBないとキツい」——この感覚の違い、どこから来るのかずっと疑問だった。調べてみたら、各OSのメモリ管理戦略の違いが原因だとわかった。
macOSの秘訣は「メモリ圧縮+積極的スワップ」。 使ってないメモリをリアルタイムで圧縮し、さらにSSDに積極的にスワップする。Apple SiliconのSSDが爆速(5〜7GB/s)だから、スワップしても体感速度が落ちにくい。でもSSDの寿命は削ってるから、長期的にはどうかという議論もある。
3大OSのメモリ管理戦略:
| Windows | macOS | Linux | |
|---|---|---|---|
| 空きメモリ戦略 | ある程度空けておく | 可能な限り使う | 可能な限り使う(キャッシュに) |
| メモリ圧縮 | ✅(Win10以降) | ✅ 積極的 | ✅(zram/zswap、設定次第) |
| スワップの積極性 | 控えめ | 超積極的 | swappinessで調整可能 |
| Superfetch/Preload | ✅(よく使うアプリを先読み) | ✅(同様の仕組み) | ❌(基本なし) |
| 「重さ」の印象 | メモリ食い | 8GBで意外と動く | 軽量〜設定次第 |
WindowsはSuperfetchでよく使うアプリをメモリに先読みするから、起動直後からメモリ使用量が高い。あとバックグラウンドサービスが多い。これが「重い」印象の正体。
Linuxはメモリを「空いてるならキャッシュに使う」戦略。`free -h` で見るとメモリ使用率90%超えに見えるけど、実はほとんどキャッシュ。本当の空きは `available` を見るべき。`swappiness` を低く設定すれば、メモリが本当に足りなくなるまでスワップしない。
メモリが足りないときの症状:Windowsは突然重くなる。macOSは徐々に重くなる。LinuxはOOM Killerがプロセスを突然殺す(`dmesg`に痕跡が残る)。どのOSもメモリ不足は辛い。