Linuxパフォーマンス監視コマンドの簡単な紹介

Linuxパフォーマンス監視コマンドの簡単な紹介

システムでさまざまな IO ボトルネック、メモリ使用量の増加、CPU 使用率の増加などの問題が発生した場合、どのようにしてエラーを特定すればよいでしょうか? Linux には、エラーを素早く特定するのに役立つコマンドが多数用意されています。free コマンドは Linux で最もよく使用されるコマンドの 1 つです。このコマンドを使用すると、サーバーの合計メモリ、使用済みメモリ、残りの未使用メモリ、バッファとキャッシュによって占有されているメモリなど、システムのメモリ状態を表示できます。

$ 無料 -m
キャッシュされた未使用の共有バッファの合計
電話番号: 994 787 207 0 121 227
-/+ バッファ/キャッシュ: 437 557
スワップ: 0 0 0

上記の 3 行のデータを完全に理解するには、まずバッファとキャッシュとは何かを理解する必要があります。

バッファ: バッファ

低速と高速間のハンドオーバー問題を解決するためにデータをバッファリングします。高速領域では、バッファを介してデータをビットごとに低速領域に渡す必要があります。たとえば、メモリからハードディスクにデータを書き込む場合、データは直接書き込まれるのではなく、特定のサイズにバッファリングされてからハードディスクにフラッシュされます。

バッファとは、まだディスクに「書き込まれていない」ものです。

キャッシュ: キャッシュ

データの再利用を実現するには、低速デバイスが頻繁に使用されるデータをキャッシュする必要があり、キャッシュされたデータは高速デバイスへの高速転送を提供できます。たとえば、ハードディスクからデータを読み取ってメモリのキャッシュ領域に配置すると、将来的に同じリソースに非常に高速にアクセスできるようになります。

キャッシュとは、ディスクから「読み取られ」、後で使用するために保存されたものです。

バッファはディスク(ブロックデバイス)に出力するデータを格納するために使用され、キャッシュはディスクから読み取ったデータを格納するために使用されます。どちらも IO パフォーマンスを向上させるように設計されています。

バッファとキャッシュの役割を理解すると、free によって表示される情報は簡単に理解できます。次に、free コマンド出力の各行の意味を分析してみましょう。

1行目: メム

合計メモリ 994 (合計) = 787 (使用済み) + 207 (空き)、使用済みはシステムによって使用されたメモリを示します。これには、アプリケーションによって使用されたメモリと、バッファリングとキャッシュに使用されるメモリの合計が含まれます。

2行目: -/+ バッファ/キャッシュ

- バッファ/キャッシュ: 437(使用済み) = 787(使用済み) - 121(バッファ) - 227(キャッシュ済み)、437 は、バッファとキャッシュによって消費されるメモリを除いた、アプリケーションによって消費される実際のメモリが 437M であることを意味します。

+ バッファ/キャッシュ: 557(空き) = 207(空き)+121(バッファ)+キャッシュ(227)、557 はシステムに 557M の使用可能なメモリがあることを意味します。メモリが不足している場合でも、バッファとキャッシュによって占有されているメモリはアプリケーションによって引き続き使用されるためです。

3行目: スワップ

説明の必要がないと単純に述べている記事を多く見てきましたが、ここでは、Swap はスワップ パーティション、つまり通常仮想メモリと呼ばれるものを意味することを説明したいと思います。ディスク領域の一部をメモリとして使用できます。この領域は仮想メモリと呼ばれます。システム メモリが不足すると、システムはメモリ内に常駐しているが現在実行されていないプログラムを一時的に仮想メモリに配置します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Python ベースの Linux システムにおける特定のプロセスのパフォーマンス監視の考え方の詳細な説明
  • PHP+swoole+linuxによるシステム監視とパフォーマンス最適化の操作例
  • Linux システムのパフォーマンスを分析するための top コマンドの詳細な説明
  • Linux サーバーのステータスとパフォーマンスに関連するコマンドの詳細な説明
  • Linux パフォーマンステスト pmap コマンドの詳細な説明
  • 収集する価値のある Linux サーバーのパフォーマンス最適化のヒント 20 選
  • Linux での Web パフォーマンス ストレス テスト ツール http_load の使用に関するチュートリアル
  • Linux で Web データの同期を実現する 4 つの方法 (パフォーマンス比較)
  • Linux+Nginx+Phpで高性能WEBサーバーを構築
  • Linux パフォーマンス監視ツール nmon のインストールと使用方法のチュートリアル分析

<<:  MySQL 5.7.20 無料インストールバージョンの設定方法グラフィックチュートリアル

>>:  Vue で CSS カスタム変数を使用する方法

推薦する

ウェブサイトのパフォーマンス: 画像とCookieの最適化、モバイルアプリケーションの最適化

前のセクションでは、コンテンツ、サーバー、JavaScript、CSS など、Web サイトのパフォ...

Docker で最初のアプリケーションをデプロイする方法

前回の記事では、Docker Desktop をインストールし、Kubernetes を有効にしまし...

HTML におけるブロックコメントの使用に関する詳細な紹介

HTML の一般的なコメント: <!--XXXXXXXX--> (XXXXXXXX はコ...

MySql8.0 のトランザクション分離レベルエラーの問題を解決する

目次MySql8.0 トランザクション分離レベルエラーの表示質問コマンドは次のように変更されますMy...

MySQLテーブルシャーディングとパーティショニングの具体的な実装方法

縦型テーブル垂直テーブル分割とは、多数の列を持つテーブルを複数のテーブルに分割することを意味します。...

WeChatアプレット+EChartsで動的更新プロセス記録を実現

序文最近、小さなプログラムでリアルタイムにチャートを更新するという要件に遭遇しました。最初は wx-...

nginxを使用してドメイン名ベースの仮想ホストを構成する

1. 仮想ホストとは何ですか?仮想ホストは、特殊なテクノロジーを使用して、実行中のサーバーを論理的に...

MySQLの基礎知識学習ノート

データベースを表示show databases;データベースを作成するDATABASE データベース...

Centos8 に nginx をインストールするための詳細なチュートリアル (画像とテキスト)

Nginx (「エンジン エックス」と発音) は、インターネット上の最大規模のサイトの負荷を処理す...

Webpack5-react スキャフォールディングをゼロから構築するための実装手順 (ソースコード付き)

目次ウェブパック5公式スタート建築ガイド構築を開始する依存する準備が完了したら、プロジェクトの構築を...

MySQLでビューを作成する方法

基本的な構文CREATE VIEW ステートメントを使用してビューを作成できます。構文の形式は次のと...

Linux で複数のファイルの名前を一度に変更する方法

序文日常業務では、すべての jpg ファイルを bnp に変更したり、名前の 1 を one に変更...

Docker コンテナで ASP.NET Core を実行する手順

最近は学ぶべき知識が多すぎて、どれを先に学べばいいのかわかりません。このブログはもともとxamari...

nginx を使用してカナリアリリースをシミュレートする方法

この記事では、ブルーグリーン デプロイメントと、nginx を使用してカナリア リリースを最も簡単な...

MySQL の行レベルロックの詳細な例

序文ロックは、複数のスレッドを実行するときにリソースへのアクセスを強制的に制限するために使用される同...