ホームページ  >  記事  >  システムチュートリアル  >  Linux メモリ監視: システムの実行ステータスをリアルタイムで把握します。

Linux メモリ監視: システムの実行ステータスをリアルタイムで把握します。

王林
王林転載
2024-02-09 20:33:20457ブラウズ

今日の急速な情報発展の時代において、サーバーシステムの安定性はますます注目を集めています。サーバーの重要な部分であるメモリは、システム パフォーマンスの問題のボトルネックになることがよくあります。この場合、メモリ使用量のリアルタイム監視は、システムの安定性とパフォーマンスを確保する上で重要な役割を果たします。この記事では、Linux システムのメモリ使用量を監視し、いくつかの実用的なコマンドを使用してシステムの実行状態をリアルタイムで把握する方法を紹介します。

Ubuntu 18.04 サーバー プラットフォーム [1] でデモを行いますが、選択したディストリビューションで使用可能なすべてのコマンドが見つかるはずです。さらに良いことに、何もインストールする必要はありません (これらのツールのほとんどは Linux システムに含まれているため)。

そうは言っても、仕事に取り掛かりましょう。

######上######

最も一般的に使用されるツールから始めたいと思います。 top コマンドは、実行中のシステムのリアルタイムの動的ビューを提供し、各プロセスのメモリ使用量をチェックします。これは、同じコマンドが異なる量のメモリを消費している複数の例を簡単に確認できるため、重要です。モニターのないサーバーではこれを確認できませんが、Chrome を開くとシステムの速度が低下することに気づきました。 top コマンドを実行して、Chrome で複数のプロセスが実行されていることを確認します (タブごとに 1 つ - 図 1)。

図 1: 複数の Chrome プロセスが上部のコマンドに表示されます。

Linux 内存监控:实时掌握系统运行状态

複数のプロセスを表示するアプリは Chrome だけではありません。図 1 に Firefox があるのがわかりますか?これが Firefox のメイン プロセスであり、Web コンテンツ プロセスは開いているタブです。出力の上部にシステム統計が表示されます。私のマシン (System76 Leopard Extreme[2]) には合計 16GB の利用可能な RAM があり、そのうち 10GB 強が使用中です。その後、リストを並べ替えて、各プロセスが使用しているメモリの割合を確認できます。 top 開始するのに最適な場所の 1 つは、制御不能になった可能性があるサービスのプロセス ID 番号 (PID) を検出することです。これらの PID を使用すると、問題のあるタスクのトラブルシューティング (または強制終了) を行うことができます。

top にさらに分かりやすいメモリ情報を表示させたい場合は、コマンド top -o %MEM を使用します。これにより、top はすべてのプロセスを、プロセスが使用するメモリによって並べ替えます (図 2)。

図 2: トップ コマンドでのメモリ使用量によるプロセスの並べ替え

Linux 内存监控:实时掌握系统运行状态

top コマンドを使用すると、使用されているスワップ領域の量に関するリアルタイムの最新情報も得られます。 ######無料###### ただし、場合によっては、top コマンドがニーズを満たさない場合があります。システムの空きメモリと使用済みメモリを確認したいだけかもしれません。このため、Linux には無料のコマンドもあります。無料のコマンドでは次のように表示されます:

利用可能な物理メモリと使用されている物理メモリの合計

システム内のスワップ メモリの合計量

カーネルによって使用されるバッファとキャッシュ
  • ターミナル ウィンドウで、自由なコマンドを入力します。その出力はリアルタイムではありません。代わりに、現在の空きメモリと使用済みメモリの即時のスナップショットが取得されます (図 3)。
  • 図 3: 無料コマンドの出力はシンプルかつ明確です。
もちろん、free -m のように -m オプションを追加すると、free をより親しみやすく見せることができます。これにより、メモリ使用量が MB 単位で表示されます (図 4)。

Linux 内存监控:实时掌握系统运行状态

図 4: より読みやすい形式でのフリーのコマンド出力。

もちろん、システムが非常に新しい場合は、free -g などの -g オプション (GB 単位) を使用することをお勧めします。

メモリの合計量を知る必要がある場合は、free -mt のように -t オプションを追加できます。これにより、各列のメモリの合計量が単純に計算されます (図 5)。 Linux 内存监控:实时掌握系统运行状态

図 5: 空きメモリ列を提供します。

vmstat

Linux 内存监控:实时掌握系统运行状态

もう 1 つの非常に便利なツールは vmstat です。この特定のコマンドは、仮想メモリ統計をレポートするためのちょっとしたトリックです。 vmstat コマンドは次について報告します:

  • プロセス###### メモリ######
  • ページネーション
  • IO
  • をブロック中
  • 割り込み######
  • ディスク###### CPU######
  • vmstat を使用する最良の方法は、vmstat -s などの -s オプションを使用することです。これにより、統計が 1 列でレポートされます (デフォルトのレポートよりも読みやすくなります)。 vmstat コマンドは必要以上の情報を提供します (図 6) が、常に多い方が良いです (この場合)。
  • 図 6: vmstat コマンドを使用してメモリ使用量を確認します。
  • dmidecode

取り付けられているシステム メモリに関する詳細情報を確認したい場合はどうすればよいですか?これを行うには、dmidecode コマンドを使用できます。この特定のツールは DMI テーブル デコーダで、システムの DMI テーブルの内容を人間が読める形式にダンプします。 DMI テーブルが何なのかわからない場合は、システムの構成 (およびその進化) を説明するために使用できます。 Linux 内存监控:实时掌握系统运行状态

dmidecode コマンドを実行するには、sudo 権限が必要です。そこで、コマンド sudo dmidecode -t 17 を入力します。このコマンドの出力 (図 7) は、すべてのメモリ タイプのデバイスの情報を表示するため、非常に長くなる可能性があります。したがって、上下にスクロールできない場合は、そのコマンドの出力を sudo dmidecode -t 17> dmi_infoI のようにファイルに送信するか、sudo dmidecode |less のようにless コマンドに渡す必要がある場合があります。

図 7: dmidecode コマンドの出力。

/proc/meminfo

「これらのコマンドはこの情報をどこで取得するのでしょうか?」と疑問に思うかもしれません。場合によっては、/proc/meminfo ファイルから情報を取得します。推測しましたか?コマンドless /proc/meminfoを使用して、このファイルを直接読み取ることができます。 less コマンドを使用すると、長い出力を上下にスクロールして、必要なものを正確に見つけることができます (図 8)。 Linux 内存监控:实时掌握系统运行状态

図 8:less /proc/meminfo コマンドの出力。

/proc/meminfo について知っておくべきこと: これは実際のファイルではありません。対照的に、/proc/meminfo は、システムに関するリアルタイムの動的情報を含む仮想ファイルです。特に、次の値を確認する必要があります:

全メモリ (MemTotal)

Linux 内存监控:实时掌握系统运行状态

空きメモリ (MemFree)

使用可能なメモリ (MemAvailable)

    バッファ
  • ファイルキャッシュ (キャッシュ済み)
  • SwapCached
  • すべてのスワップ領域 (SwapTotal)
  • フリースワップ領域 (SwapFree)
  • /proc/meminfo を使用したい場合は、egrep コマンドを接続して使用できます: egrep –color’Mem | Cache | Swap’/proc/meminfo。これにより、Mem、Cache、Swap などのエントリが色分けされた読みやすいリストが生成されます (図 9)。
  • 図 9: /proc/meminfo を読みやすくします。
  • パーソナル コンピューターでもサーバー システムでも、メモリの使用は不可欠であり、使用中に注意が必要です。この記事では、Linux システムのメモリを監視および管理するための実践的なコマンドをいくつか紹介します。これにより、システムの実行状況をリアルタイムで把握し、メモリの問題によるシステムのダウンタイムやその他の障害を効果的に回避できます。これらのコマンドを深く理解してマスターし、デバイスの安全性とパフォーマンスを確保しましょう。

以上がLinux メモリ監視: システムの実行ステータスをリアルタイムで把握します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlxlinux.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。