インフラエンジニアを目指すなら、CPU・メモリ・ディスクの基本を理解することは必須です。
この記事では「オフィスでの仕事」に例えて、それぞれの役割と連携の仕組みを分かりやすく解説します。
さらに、システムが重くなる原因でもある「スワップ」についても詳しく説明します。IT初心者でも理解しやすい内容なので、基礎知識をしっかりと身につけていきましょう。
CPU
CPUは、コンピュータの頭脳です。コンピュータの「司令塔」として、すべての処理を統括します。
プログラムの命令を読み取り、計算や論理演算を実行し、結果を出力します。現在のCPUは複数のコア(処理ユニット)を持っており、同時に複数の作業を並行して処理することができます。
1. クロック周波数(GHz)
クロック周波数とは、1秒間にどれだけの処理ができるかを表す指標です。作業員の「作業スピード」に例えられます。この数値が高いほど、より速く仕事をこなせます。
2. コア数
コア数とは、CPUの中に搭載されている、処理を行う「核」の数です。
何人の作業員が同時に働けるかを表します。コア数が多いほど、たくさんのタスクを並行して処理できます。
メモリ
メモリは「作業台」として機能します。CPUが処理に必要なプログラムやデータを一時的に保存し、高速でアクセスできるようにします。メモリの容量が大きいほど、多くのプログラムを同時に起動したり、大きなファイルを扱ったりすることができます。
メモリには以下の特徴があります。
- 高速性: ディスクに比べて圧倒的に読み書きが速いです。
- 揮発性: 電源を切るとデータが消えてしまいます。
作業台が広ければ、作業員(CPU)は必要な資料をすぐに取り出せて、効率よく作業を進められます。逆に机が狭いと、すぐに散らかってしまい、効率が落ちます。
ディスク
ディスクは、プログラムやデータを長期的に保存する倉庫です。電源を切ってもデータは保持されます。
OSやアプリケーション、ユーザーが作成したファイルなど、すべての情報がディスクに保存されています。最近では高速なSSDが普及し、従来のHDDよりも格段に速いデータアクセスが可能です。
1. HDD(Hard Disk Drive)
データを磁気ディスクに記録します。大容量で安価ですが、物理的にディスクが回転するため、読み書き速度は遅いです。
2. SSD(Solid State Drive)
半導体チップにデータを記録します。HDDより高速で、耐衝撃性にも優れていますが、価格は高めです。
3. NVMe
SSDの一種で、さらに高速な通信規格を使っています。倉庫の中の「超高速な自動搬送システム」のようなものです。
作業員(CPU)は、倉庫(ディスク)から材料(データ)を持ち出し、作業台(メモリ)に置いて仕事を進めます。作業が終わった後、結果を再び倉庫に片付けます。
4. RAIDとは?
RAID (Redundant Array of Independent Disks) とは、複数のディスクを組み合わせて、一つのディスクのように見せかける技術です。これにより、データの冗長性(バックアップ)やパフォーマンスの向上を実現します。
主要なRAIDレベルの例をいくつかご紹介します。
- RAID 0: 複数のディスクにデータを分散して書き込むことで、読み書き速度を向上させます。ただし、冗長性はないため、1つのディスクが故障すると全てのデータが失われます。
- RAID 1: 同じデータを2つのディスクに同時に書き込むことで、データの複製(ミラーリング)を作成します。冗長性が高く、片方のディスクが故障してもデータは保持されます。
- RAID 5: パリティ情報と呼ばれる誤り訂正用のデータを使い、ディスクを3台以上で構成します。読み書き速度と冗長性を両立させた、バランスの取れた方式です。
CPU・メモリ・ディスクの役割比較表
項目 | CPU | メモリ | ディスク |
---|---|---|---|
役割 | 計算・処理の実行 | 一時的なデータ保存 | 永続的なデータ保存 |
例え | 作業員(あなた自身) | 机の上 | 本棚・キャビネット |
主な機能 | ・プログラムの実行 ・計算処理 ・データの制御 | ・実行中プログラムの保存 ・CPUとのデータ交換 ・一時作業領域の提供 | ・OS、アプリケーション、ユーザーデータ の長期保存 |
速度 | 超高速 | 高速 | 中~低速 |
データ保持 | 処理時のみ | 電源ON時のみ (揮発性) | 電源OFF時も保持 (不揮発性) |
価格 | 中程度 | 高め | 低~中程度 |
CPU・メモリ・ディスクをわかりやすく例えると
コンピュータの主要な構成要素であるCPU、メモリ、ディスクを身近な例で説明してみましょう。
オフィスでの仕事に例えて解説します。
CPU(中央処理装置)は「あなた自身」
実際に計算や判断を行い、作業を進める頭脳の部分です。処理速度が速いほど、素早く仕事をこなすことができます。
メモリ(RAM)は「机の上」
現在作業中の書類や資料を一時的に置いておく場所です。机が広いほど、たくさんの資料を同時に広げて効率よく作業できます。ただし、電源を切ると机の上はきれいに片付けられてしまいます
ディスク(ストレージ)は「本棚やキャビネット」
長期間保存しておきたい書類やファイルをしまっておく場所です。電源を切っても中身がなくなることはありませんが、必要な時は本棚から取り出して机の上に置く必要があります。
この例えで考えると、効率よく仕事をするには「優秀な人(高性能CPU)」「広い机(大容量メモリ)」「整理された本棚(高速ディスク)」の3つが必要だということがわかります。
CPU・メモリ・ディスクの連携の流れ
- 起動時: ディスクからOSやプログラムがメモリに読み込まれます
- 実行時: CPUがメモリ上のプログラムを読み取り、処理を実行します
- 保存時: 処理結果や変更されたデータがディスクに書き込まれます
- 終了時: メモリ上の一時的なデータは消去されます
この連携により、高速な処理と安全なデータ保存の両立が実現されています。
スワップとは?
スワップとは、メモリ不足を解消するための機能です。「机の上が狭くなった時に、一時的に使わない資料を引き出しにしまう」作業と考えるとわかりやすいです。
通常、実行中のプログラムはすべてメモリ(作業台)上に配置されますが、メモリ容量には限りがあります。多くのプログラムを同時実行したり、大きなファイルを扱ったりすると、メモリが不足する状況が発生します。
そんな時、OSは使用頻度の低いメモリ上のデータを一時的にディスクの特別な領域(スワップ領域)に移動させます。これにより、新しいプログラムやデータのためのメモリ空間を確保することができます。
ただし、ディスクはメモリより何十倍も遅いです。そのため、スワップが増えると 「動いてはいるけどめちゃくちゃ重い」 という状態になります。
スワップアウト(Swap Out)
メモリが不足した時に、使用頻度の低いデータやプログラムをメモリからディスクのスワップ領域に移動させることです。OSは以下の基準で移動対象を選択します。
- 最近アクセスされていないデータ
- 一定時間使用されていないプログラム
- システムが「重要度が低い」と判断したプロセス
スワップイン(Swap In)
スワップ領域に移動されたデータが再び必要になった時に、ディスクからメモリに戻すことです。ユーザーがそのプログラムを使おうとした瞬間に自動的に実行されます。
仮想メモリとは?
スワップ機能により、物理メモリ以上の容量を使用しているかのように見える「仮想メモリ」を実現できます。これにより、限られたメモリリソースを効率的に活用することができます。
負荷がかかったときの流れ(例)
メモリ4GBのサーバーでアプリを動かす場合
- アプリが3GB分のメモリを要求 → 余裕なのでサクサク動く
さらに別のアプリが2GB必要になる → 合計5GB必要だが机は4GBしかない - OSは「1GB分を倉庫に避難させよう」と判断 → スワップ発生
- ディスクに行ったり来たりが発生
- CPUは「机からすぐ取れないから、いちいち倉庫に取りに行く」状態
- → サーバー全体が重くなる
まとめ
CPU・メモリ・ディスクは、オフィスでの作業員・机・倉庫に例えられる重要な三要素です。CPUは処理速度とコア数、メモリは容量と高速性、ディスクは永続性と容量が特徴です。
特にスワップの仕組みを理解することで、システムが重くなる原因を把握でき、サーバー運用時の問題解決に役立ちます。
これらの基礎知識を活かして、優秀なインフラエンジニアを目指しましょう。