LinuxLinux [リナックス / ライナックス]オープンソースのOSカーネルサーバーの運用やハードウェアの調査において、「現在システムに認識されている物理メモリの構成を知りたい」「メモリブロックがオンライン(利用可能)かオフラインか確認したい」という場面があります。
そんなときに役立つのが lsmem コマンドです。本記事では、lsmemコマンドの基本的な使い方から、出力結果の各項目の意味、実務で役立つ主要なオプション、そしてよく似た用途で使われる free コマンドとの違いについてわかりやすく解説します。
lsmemコマンドとは?概要と基本機能
lsmem は、Linuxシステムにおける物理メモリ(メモリブロック)の状態や構成情報を一覧表示するコマンドです。
内部的には /sys/devices/system/memory/ などの情報を収集し、メモリブロックごとのアドレス範囲、サイズ、状態(オンラインかオフラインか)などを整理して表示してくれます。
lsmem を使うメリットは以下の通りです。
- メモリの物理的な構成や状態をブロック単位で確認できる
- 各メモリブロックが取り外し可能(Removable)かどうかを把握できる
- オプションを活用することで、全体のサマリやJSONJSON [ジェイソン]JavaScript Object Notation。軽量データ交換フォーマット形式でのデータ取得が容易
freeコマンドとの違いと使い分け
メモリを確認するコマンドとして最も有名なのは free ですが、lsmem とは明確な役割の違いがあります。
freeコマンド:現在システム上で「どれくらいのメモリが使用されているか」「どれくらい空いているか」という メモリの使用状況・空き容量 を確認するために使います。lsmemコマンド:システムに搭載されている「メモリブロックの物理的な構成」や、OSOS [オーエス]Operating System。基本ソフトウェアから見て「利用可能(オンライン)な状態か」という ハードウェアレベルの構成・状態 を確認するために使います。
「サーバーのメモリ使用率が知りたい」場合は free -h などを使い、「OSが物理メモリをどう認識しているか調べたい」「ホットプラグで追加したメモリブロックの状態を確認したい」場合は lsmem を使う、というように使い分けます。
lsmemコマンドの出力結果の見方と各項目の意味
lsmem コマンドをオプションなしで実行すると、メモリブロックの一覧がサマリー付きで表示されます。
lsmemRANGE SIZE STATE REMOVABLE BLOCK0x0000000000000000-0x000000001fffffff 512M online yes 0-30x0000000020000000-0x000000003fffffff 512M online yes 4-70x0000000040000000-0x000000005fffffff 512M online yes 8-11
Memory block size: 128MTotal online memory: 1.5GTotal offline memory: 0B出力される各列(カラム)やサマリ項目の意味は以下の通りです。
1. メモリブロックの一覧表示部
| 項目 | 意味 |
|---|---|
| RANGE | メモリブロックがマッピングされている物理アドレスの範囲。開始アドレスと終了アドレス(16進数)で示されます。 |
| SIZE | 該当範囲のメモリサイズ。デフォルトでは人間が読みやすい単位(MやGなど)で表示されます。 |
| STATE | メモリブロックの状態。OSが利用可能な状態であれば online、利用できない状態(または取り外されている状態)であれば offline と表示されます。なお、オフライン処理中の過渡状態を表す going-offline などのステータスが表示されることもあります。 |
| REMOVABLE | 該当のメモリブロックが、オンラインのままOS上で安全にオフライン化(切り離し)できるかどうかを示します。表示は yes または no で、すでにオフラインになっているブロックは - と表示されます。物理的なメモリの取り外し可否ではなく、ソフトウェア的な制御の可否を表す指標です。 |
| BLOCK | メモリブロックの番号(インデックス)またはその範囲。 |
※ 環境によっては NODE(NUMAノード番号)の列が表示されることもあります。
2. サマリ情報部
| 項目 | 意味 |
|---|---|
| Memory block size | システムにおける1つのメモリブロックのサイズ(アーキテクチャや設定によって異なります)。 |
| Total online memory | 現在オンラインで利用可能な物理メモリの合計容量。 |
| Total offline memory | 現在オフラインになっている物理メモリの合計容量。 |
lsmemコマンドの主要オプションと活用法
—summary:全体のサマリ情報だけを表示する
システム全体のサマリ情報だけを確認したい場合は --summary オプション(引数なしで実行するとデフォルトで --summary=only として動作)を使用します。
lsmem --summaryMemory block size: 128MTotal online memory: 1.5GTotal offline memory: 0Bサクッと合計オンラインメモリ容量を確認したい場合に便利です。
-b(—bytes):サイズをバイト単位で表示する
デフォルトでは、サイズ(SIZE列やサマリ)はメガバイト(M)やギガバイト(G)などの単位で丸められて表示されます。これを正確なバイト単位で出力したい場合は -b オプションを指定します。
lsmem -bRANGE SIZE STATE REMOVABLE BLOCK0x0000000000000000-0x000000001fffffff 536870912 online yes 0-3...Memory block size: 134217728Total online memory: 1610612736Total offline memory: 0—output-all:すべての利用可能なカラムを表示する
デフォルトの表示項目以外にも、内部で保持している情報すべてを表示したい場合は --output-all を使用します。
lsmem --output-allこのオプションを使用すると、NUMAノード番号など、デフォルトでは省略されがちな詳細項目も出力テーブルに追加されます。
-J(—json):JSON形式で出力する
シェルスクリプトや他のプログラム(PythonPython [パイソン]汎用プログラミング言語やGoGo [ゴー]Google開発のシンプルで高速な言語など)から lsmem の実行結果をパースして利用したい場合は、-J オプションでJSON形式で出力するのが推奨されます。ただし、JSON形式(-J)やRAW形式などのオプションを指定した場合、末尾のサマリ行(Total online/offline memoryなど)は出力に追記されなくなる点に注意してください。
lsmem -J{ "lsmem": [ { "range": "0x0000000000000000-0x000000001fffffff", "size": "512M", "state": "online", "removable": "yes", "block": "0-3" } ]}まとめ:lsmemでメモリの物理状態を把握しよう
lsmemコマンドは、メモリブロックのアドレス範囲や状態(オンライン/オフライン)を確認するためのコマンド。- メモリの使用率や空き容量を見る
freeコマンドとは役割が異なる。 --summaryでサマリ情報の抽出、-JでJSON出力が可能など、状況に応じた使い分けができる。- ハードウェアトラブルの調査やメモリのホットプラグ運用時などに威力を発揮する。
物理マシンの運用やカーネルレベルのメモリ管理に関わる場面では、free コマンドだけでなく lsmem コマンドも併せて活用できるようにしておきましょう。
関連記事 CPUCPU [シーピーユー]Central Processing Unit。コンピュータの頭脳となる中央演算処理装置の構成(コア数やアーキテクチャ)を確認したい場合は、
lscpuコマンドが便利です。ITナレッジライフlscpuコマンドとは?使い方と出力の見方を解説【Linux】
Linuxのlscpuコマンドの使い方を初心者向けに解説します。CPU情報を確認するlscpuの基本から、出力結果の各項目の見方、-eや-pなどの主要オプション、/proc/cpuinfoとの違いまで具体例付きで紹介します。
メモリやCPUの使用状況を確認したい場合は、
vmstatやfreeコマンドの使い方もあわせて参考にしてください。ITナレッジライフ【Linux】vmstat・freeコマンドでメモリ使用率・CPU使用率を確認する方法
メモリ使用率はfreeコマンドの総メモリと利用可能なメモリから算出し、CPU使用率はvmstatのアイドル時間から算出します。
以上で本記事の解説を終わります。
よいITライフを!
人気記事
- 1
- 2
- 3
- 4
- 5


Rocky Linux対応。実際にWebサーバーを公開するまでのプロセスを体験できる、最も確実で実践的なガイドブックです。