CPU・メモリ・ストレージ
ネットワークには問題がなさそうです。新人はSSHでサーバーに入り(→07)、中を調べることにしました。ところが、コマンドを打っても返事がもたつきます。それを見た
コンピューターは、CPU(計算して処理する部分)、メモリ(作業中のものを置く場所)、ストレージ(保存しておく場所)の3つで仕事をしています。
どれかが足りなくなると、サーバーは重くなります。
- コンピューターの中の3つの役割:CPU=計算して処理する部分、メモリ=作業中のものを置いておく場所、ストレージ=保存しておく場所
- メモリは速いが量が少なく、電源を切ると消える
- どれかが足りなくなると、サーバーが重くなったり止まったりする
- 確かめるコマンド:CPUは top、メモリは free -h、ストレージは df -h
身近な例えで理解する
勉強するとき、自分が考えて手を動かし、使う本やノートを机の上に広げ、使わない本は本棚にしまっておきます。
- 考えて手を動かす自分CPU
- 机の上メモリ
- 本棚ストレージ
- 机が狭くて本を出し入れしてばかりメモリ不足で遅くなる
机が狭いと、本棚との行き来ばかりで勉強がはかどりません。本棚がいっぱいなら、新しい本はもう置けません。
ちょっと確認
勉強机の例えと、コンピューターの部品を結んでください。
左から1つ選び、次に右から合うものを選んでください。
例えを外して、実際のしくみ
CPU
プログラムの命令を実行する部分です。使用率が高い状態が続くと、処理が順番待ちになって遅くなります。top コマンドで、CPUをどれだけ使っているか、どのプログラムが多く使っているかを見られます
メモリ
動いているプログラムやデータを置く場所です。速いかわりに量が少なく、電源を切ると中身は消えます。足りなくなると、スワップ(ストレージの一部をメモリの代わりにする場所)が用意されていれば、そこを使います。ただしストレージはメモリよりずっと遅いので、全体がとても重くなります。スワップがない場合や、それでも足りない場合は、プログラムが止められてしまうこともあります。free -h で確かめ、「available(新しく使える量の見込み)」の列を見ます
ストレージ
ファイルを保存しておく場所です(SSDやハードディスク。クラウドでは「ディスク」「ボリューム」と呼ぶことが多い)。電源を切っても残ります。いっぱいになると、新しいファイルもログも書けなくなります。df -h で、どれだけ使っているかを確かめます
数字の見かた
ふだんの値を知っておくと、「いつもより多い」に気づけます
user2@vm:~$ free -h
total used free shared buff/cache available
Mem: 7.8Gi 543Mi 7.1Gi 25Mi 478Mi 7.3Gi
Swap: 0B 0B 0B
user2@vm:~$ nproc
2available が 7.3Gi なので、新しく使えるメモリはまだ十分あります。Swap が 0B なのは、この環境にスワップが用意されていないためです。nproc は、使えるCPUの数を表示します(この環境では2)。
このページのまとめ
- CPU
- 命令を実行して処理する部分(top で見る)
- メモリ
- 作業中のものを置く速い場所。電源を切ると消える(free -h)
- ストレージ
- 保存しておく場所。電源を切っても残る(df -h)
- スワップ
- メモリが足りないとき、ストレージを代わりに使う仕組み(用意されていれば)。とても遅くなる
先輩のひとことの意味
先輩「サーバーが重いね。メモリ足りてる?」
「コマンドの反応が遅いのは、サーバーの作業場所(メモリ)が足りなくなって、処理が待たされているからかもしれない。free -h で空きを見てみて」という意味です。新人が確かめると、メモリの available がほとんど残っていませんでした。CPUやストレージには余裕があります。では、何がメモリをそんなに使っているのでしょうか。
練習問題で確かめる
確かめたいものと、使うコマンドを結んでください。
左から1つ選び、次に右から合うものを選んでください。
サーバーの電源を切ると、中身が消えてしまうのはどれ?
参考資料
ご意見・「これで例えて!」を募集しています
ご意見・ご感想・質問・間違いのご指摘など、何でもお気軽にお寄せください。「この言葉も例えで説明してほしい」「こんな例えなら分かりやすい」という声をもとに、新しいページや例えを作ります。
- 説明してほしいITの言葉
- 例えてほしい場面(部活・アルバイト・家事など)
- 分かりにくかったところ・間違いのご指摘
意見箱は準備中です。