こんにちは、インフラエンジニアのryuです。
今回はLinuxのメモリの使用率を調べる方法を解説します。メモリの使用率を調べるためには、top・free・psなどのコマンドがあります。これらのコマンドの使い方を詳しく解説します。Linuxが固まったとき、原因が調査できるようになりましょう。
目次
Linuxのメモリ使用率を調べる方法は?

Linuxの動きが遅い・・・
Linuxのメモリ使用率を調べてみましょう!
今回の記事では、メモリの使用率を調べる方法を解説します。
サーバーの動きが急に遅くなることがあると思います。そのような時はLinuxのメモリの使用率を確認してみましょう!
Linuxのメモリの使用率を調査するコマンドはいくつかあります。以下の通りです。
- top
- free
- ps
初心者の方は、これらのコマンドを使用しても、どのように見たらいいのか分からないと思います。
今回は、現役エンジニアの私が、実務で使いこなせるように、上記のコマンドの使い方を詳しく解説します。
この記事を読み終わる頃には、メモリの調査が簡単にできると思います!
では、早速解説していきます!
メモリ使用率を表示させるコマンドの使い方
ここからはLinuxコマンドの使い方を詳しく解説します。
まずは”top”コマンドについて解説します。
topコマンドの使い方
topコマンドの使い方は以下の通りです。
top
簡単です。コマンドを入力するだけです。特に引数なども必要ありません。
Linuxで実行すると以下のような表示結果が返ってきます。

topコマンドでのメモリの使用率
メモリの使用率は、以下の部分です。

こちらの部分がサーバー全体のメモリの使用率です。単位はMibつまりMBですね。8Gのメモリで約6.5G使用していることが分かります
MiB Mem : 8067.1 total, 1396.9 free, 6446.2 used, 224.0 buff/cache
また、%MEMの部分では、プロセスごとのメモリの使用率を表しています。
(今回はWSLでLinuxを起動しているため、全体のメモリ使用率はWindowsのプロセスで大半を使用しています)
余談ですが、topコマンドを起動させたまま、”shift + e”を押すと、メモリの単位が変わります。PCのメモリが大きく、桁数が増えた場合、GiB表示にしましょう。
freeコマンドでメモリのみの情報を表示する
次に紹介するのは、”free”コマンドです。
freeコマンドはtopコマンドのメモリ部分だけ表示させたものです。
では、早速linuxで使ってみましょう!
freeコマンドの使い方は以下の通りです。
free
こちらのコマンドもtop同様、引数を付けなくても動作します。簡単ですね。実行すると以下のように表示されます。

freeコマンドを使用すると、以下の項目が表示されます。それぞれの項目の説明を記載しておきます。
- total→メモリの合計
- used→メモリの使用量
- free→メモリの空き
- shared→共有メモリに割り当てられたメモリ
- buff/cache→バッファキャッシュに割り当てられたメモリ
- available→スワップせずに使用できる量
PSコマンドでプロセスごとのメモリ使用率を調査する
最後に紹介するコマンドは”ps”コマンドです。psコマンドはプロセスを調査するときに良く使うコマンドです。
プロセスとは、簡単に言うと実行されているプログラムのことです。
急にメモリの使用率が増えた場合に、どのプログラムがメモリを食っているのかをこのコマンドで調査します。
psコマンドの使い方は以下の通りです。
ps aux
コマンドを実行すると以下のように表示されます。topのプロセスの部分が表示されていますね。

このコマンドの見方はtopと同じなので特に解説はしませんが、%MEMの部分を見れば、どのプロセスにどのくらいのメモリが使われているのかが分かります。
また、プロセスが大量に表示されている場合は、grepコマンドを使用して、絞りこむのも一つの手です。
ps aux | grep '検索したい文字'
grepコマンドの使い方に関してはこちらの記事で詳しく解説しています。
Linuxのメモリを増やしたい場合
Linuxのメモリが足りなくなった場合、メモリを増やしましょう!
方法は下記の3つあります。
- 物理的にメモリを増やす
- 仮想メモリを増やす
- AzureやAWSのクラウドに移行する
物理的にメモリを増やす
まず方法の一つ目は物理的にメモリを増やす方法です。こちらは物理サーバーでLinuxを動かしている場合です。
メモリは割りと簡単に増設することができます。
Amazonなどでメモリを購入して、パソコンを分解してセットすれば完了です。「自分のPC名+メモリ増設」と検索すると、方法を調べることができます。
難しい場合は、業者に頼んでも良いでしょう。
仮想的メモリを増やす
方法2つ目は仮想メモリを増やす方法です。
仮想メモリとは、ハードディスクやSSDの容量の一部分をメモリとして扱うことができる技術です。
Linuxでは、メモリが使用できなくなると、Swap領域が使用されます。これが仮想メモリのことです。
Swap領域については、こちらのサイトで詳しい設定が説明されております。
第15章 swap領域 Red Hat Enterprise Linux 7 | Red Hat Customer Portal
AzureやAWSなどのクラウドを使用する
方法3つ目は、AzureやAWSなどのクラウドを使用する方法です
クラウドを使用するとスケールアップやスケールアウトが用意になります。
スケールアップとは、サーバーの性能を向上させることで、スケールアウトはサーバーの台数を増やすことです。
クラウドを使用するとスケーリングが容易になります。ただし、従量課金でコストが発生するため、性能を上げるだけコストも増加します。
Azureのスケールアウトの方法はこちらの記事で詳しく説明しております。

Linuxのメモリ使用率を調べる方法まとめ
最後にまとめです。
Linuxのメモリ使用率を調べる方法は以下の3つのコマンドを使用します。
- top
- free
- ps
topコマンドを使用すれば、全て表示されるので、topコマンドだけは覚えておきましょう。
また、vmstatコマンドやsarコマンドなどでも調査は可能ですが、別途パッケージのインストールが必要なため、今回は省いています。
興味のある方は調べてみてください。
今回紹介したコマンドを使用すれば、現在のメモリの使用率や、どのプロセスにどのくらいのメモリが使われているかなど調査することが可能です。
サーバーの動きが遅いときなど、ぜひこれらのコマンドを使ってみてください!
以上で解説を終わります。ありがとうございました。