ホームページ  >  記事  >  運用・保守  >  Linuxの負荷を確認するにはどのようなコマンドを使用しますか?

Linuxの負荷を確認するにはどのようなコマンドを使用しますか?

coldplay.xixi
coldplay.xixiオリジナル
2020-06-30 11:40:233858ブラウズ

Linux 負荷を表示するコマンドは次のとおりです: 1. Linux 負荷を表示する [top] コマンド; 2. Linux 負荷を表示する [uptime] コマンド; 3. Linux 負荷を表示する [w] コマンド; 4. Linux 負荷を表示する [vmstat] コマンド。

Linuxの負荷を確認するにはどのようなコマンドを使用しますか?

Linux 負荷を表示するコマンドは:

1 です。 linux ロード:

Linuxの負荷を確認するにはどのようなコマンドを使用しますか?

関連学習の推奨事項: linux ビデオ チュートリアル

説明最初の行の:

top - 11:03:08 up 1 days, 04:01, 3 user, load average: 0.05, 0.05, 0.01
  • 11:03:08: システムの現在時刻

  • up 1 日、04:01:システム起動からの経過時間 1 日

  • ##3 ユーザー: 現在 3 ユーザーがオンラインです

  • 負荷平均:0.05、0.05、0.01: システム 1 分、5 分、15 分の CPU 負荷情報。

注: 負荷平均後の 3 つの値は、最後の 1 分間のシステム負荷値を意味します。 5分と最後の15分。この値の意味は、単位時間当たりの CPU アクティブ プロセスの数です。マシンにコアが 1 つある場合、これらの値がすべて #2 行目の説明:

Tasks: 176 total, 1 running, 175 sleeping, 0 stopped, 0 zombie

    176 total: 現在 176 個のタスクがあります
  • # # 1 running: 1 つのタスクが実行中
  • 175 sleep: 175 のプロセスがスリープ中
  • 0 stop: 停止したプロセスの数
  • 0 ゾンビ: ゾンビプロセスの数
  • 3 行目の説明:

%Cpu(s): 0.1 us, 0.2 sy, 0.2 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

0.1%us: ユーザー モード プロセスが占有する CPU 時間の割合
  • 0.2%sy: カーネルが占有する CPU 時間の割合
  • 0.2%ni : 負の renice 値を持つタスクのユーザーモード プロセスの CPU 時間の割合。 Nice は優先度を意味します
  • 99.4%id: アイドル状態の CPU 時間の割合
  • 0.0%wa: I/O を待機している CPU 時間の割合
  • 0.0%hi: CPU ハード割り込み時間の割合
  • #0.0%si: CPU ソフト割り込み時間の割合
  • #4 行目の説明:
KiB Mem : 3882172 total, 1079980 free, 1684652 used, 1117540 buff/cache

3882172 k total: 合計物理メモリ

  • 1684652k used:使用される物理メモリ

  • #1079980k free: 空き物理メモリ

  • #1117540k キャッシュ済み: キャッシュとして使用されるメモリ
  • #5行目の説明:
  • #
    KiB Swap: 0 total, 0 free, 0 used. 1871412 avail Mem

    #0k total: スワップスペースの総量

#0k used :使用済みスワップ スペース

#0k free: 空きスワップ スペース
  • ##1871412k キャッシュ済み: キャッシュされたスワップ スペース

  • #最終行:
  • PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

  • PID: プロセス ID
  • USER: プロセスの所有者

PR: プロセスの優先度

  • NI: 優れた値

  • VIRT: 占有された仮想メモリ

  • RES: 占有されている物理メモリ

  • SHR: 使用されている共有メモリ

  • S : 進行状況 S: Hibernate R 実行中Z ゾンビ プロセス N Nice 値が負です

  • %CPU: 占有 CPU

  • %MEM: 占有メモリ

  • TIME: CPU が占有した時間の累積値

  • COMMAND: 開始コマンド

  • 2. 確認稼働時の Linux 負荷:

3. w で Linux 負荷を確認します:

Linuxの負荷を確認するにはどのようなコマンドを使用しますか?

1行目は一番上のコマンドの説明です

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT 説明は次のとおりです。

Linuxの負荷を確認するにはどのようなコマンドを使用しますか?USER - ログインユーザー名

TTY - ログイン後にシステムによって割り当てられる端末番号

FROM - リモート ホスト名、つまりどこからログインするか

  • #LOGIN@ - いつログインするか

  • ##IDLE —アイドル状態になった時間。ユーザーがアイドル状態だった時間を示します。これは、ユーザーが何らかの操作を実行するとリセットされるタイマーです。
  • JCPU - 端末 (tty) に接続されているすべてのプロセスによって占有される時間。今回は、過去のバックグラウンド ジョブ時間ですが、現在実行中のバックグラウンド ジョブにかかった時間も含まれます。
  • PCPU - 現在のプロセス (つまり、WHAT 項目に表示されているプロセス) を指します。
  • #WHAT - 現在実行中のプロセスのコマンド ライン
  • 4. vmstat を使用して Linux 負荷を確認します
  • #

    Linuxの負荷を確認するにはどのようなコマンドを使用しますか?

    • r は、実行中のキュー (つまり、実際に実行されているプロセスの数) を表します。この値が CPU の数を超えると、CPU ボトルネックが発生します。これはトップの負荷にも関係しており、一般的に負荷が3を超えると比較的高負荷、5を超えると高負荷、10を超えると異常、サーバーの状態が非常に危険です。 。トップの負荷は、1 秒あたりの実行キューと同様です。実行キューが大きすぎる場合は、CPU が非常にビジーであることを意味し、一般に CPU 使用率が高くなります。

    • #b はブロックされたプロセスを表します。これについては詳しく説明しませんが、プロセスがブロックされていることは誰もが知っています。

    • swpd 仮想メモリの使用サイズ。0 より大きい場合は、マシンの物理メモリが不足していることを意味します。それがプログラム メモリ リークの原因でない場合は、メモリをアップグレードするか、消費量を削減する必要があります。メモリ タスクは他のマシンに移行されます。

    • free 空き物理メモリのサイズ。私のマシンのメモリは合計 8G、残りは 3415M です。

    • buff Linux/Unix システムは、ディレクトリ内のコンテンツ、アクセス許可などを保存、キャッシュするために使用されます。私のマシンは約 300 M

      を消費します。
    • キャッシュ キャッシュは、開いたファイルを記憶し、バッファリングするために直接使用されます (これは、空き物理メモリの一部を使用する Linux/Unix の賢い機能です。目的ファイルとディレクトリのキャッシュは、プログラム実行のパフォーマンスを向上させるためのものです。プログラムがメモリを使用すると、バッファ/キャッシュがすぐに使用されます。)

    • si 1 秒あたりにディスクから読み取られる仮想メモリのサイズ。この値が 0 より大きい場合、物理メモリが不足しているか、メモリ リークが発生していることを意味します。メモリを消費するプロセスとメモリを見つける必要があります。それを解決してください。私のマシンには十分なメモリがあり、すべてが正常に動作します。

    • so 1 秒あたりにディスクに書き込まれる仮想メモリのサイズ。この値が 0 より大きい場合は、上記と同じです。

    • bi ブロック デバイスが 1 秒あたりに受信したブロックの数。ここでのブロック デバイスとは、システム上のすべてのディスクとその他のブロック デバイスを指します。デフォルトのブロックサイズは1024バイトです。

    • bo ブロック デバイスによって 1 秒あたりに送信されるブロックの数。たとえば、ファイルを読み取るとき、bo は 0 より大きくなければなりません。 Bi と bo は通常 0 に近く、そうでない場合は IO の頻度が高すぎるため、調整する必要があります。

    • #in 時間割り込みを含む、1 秒あたりの CPU 割り込みの数

    • # cs 1 秒あたりのコンテキスト スイッチの数。たとえば、システム関数を呼び出すときは、コンテキスト スイッチング、スレッド スイッチング、およびプロセス コンテキスト スイッチングを実行する必要があります。値は小さいほど良いです。大きすぎる場合は、スレッドやプロセスの数を減らすことを検討してください。たとえば、Apache や nginx などの Web サーバーでは、パフォーマンス テストを行うとき、通常、数千、さらには数万の同時実行テストを実施します。Web サーバー用に選択されたプロセスは、プロセスまたはスレッドのピーク値に応じて下方調整されるため、ストレス テストでは cs が比較的小さい値に達するまで、プロセスおよびスレッドの数がより適切な値になります。同じことがシステム コールにも当てはまります。システム関数が呼び出されるたびに、コードがカーネル空間に入り、コンテキストの切り替えが発生します。これは非常にリソースを消費するため、システム関数を頻繁に呼び出すことは避ける必要があります。過度のコンテキスト切り替えは、CPU の大部分がコンテキスト切り替えに浪費されることを意味し、その結果、CPU が重要な作業を行う時間が減り、CPU が完全に活用されなくなるため、お勧めできません。

    • us ユーザーの CPU 時間、私はかつて非常に頻繁に暗号化と復号化を行うサーバーにいたことがあります。us が 100 に近いことがわかります。実行キューが 80 に達しました (マシンはストレス テストを行っており、パフォーマンスが良くありません)。

    • sy システム CPU 時間が高すぎる場合は、頻繁な IO 操作など、システム呼び出し時間が長いことを意味します。

    • id ​​アイドル CPU 時間。一般的に、id us sy = 100、id はアイドル CPU 使用率、us はユーザー CPU 使用率であると一般的に考えられています。 , sy はシステムの CPU 使用率です。

    • #wt IO CPU 時間を待機しています。

    #5. その他の操作

    • ##cat /proc/cpuinfo

      : 表示できますCPU 情報、複数のプロセッサは複数の CPU に相当します;

    • #sar

      : システム内のすべてのリソースのステータスを監視できます (sar -n DEV でネットワークを確認できます)。カード トラフィック履歴、sar - q 負荷の履歴を確認します。最も役立つのは、ネットワーク カード トラフィックを確認することです。トラフィックが大きすぎる場合: rxpck/s が 4000 より大きいか、rxKB/s が 5000 より大きい場合、攻撃されている可能性があり、パケットのキャプチャと分析が必要です。

    • free

      : 現在のシステムの合計メモリ サイズとメモリ使用量を表示します。

    • ps

      : プロセスを表示します (ps aux または ps -elf)。多くの場合、プロセスまたはその番号を表示するためにパイプ文字と一緒に使用されます。

      netstat
    • : ポートを表示します。netstat -lnp が使用されます。現在のシステムが開始したポートを出力します。netstat -an は、ネットワーク接続ステータスを出力するために使用されます。
    • tcpdump
    • : パケット キャプチャ ツールは、データ パケットを分析して、どの IP が存在するかを確認します。攻撃; 指定されたファイル 1.cap に内容を書き込み、パッケージの内容を表示し、 -w;
    • を追加しない場合の画面上のデータ フローの方向
    • wireshark: パケット キャプチャ ツール。このコマンドを一時的に使用して、現在のサーバー上の Web リクエストを表示できます

以上がLinuxの負荷を確認するにはどのようなコマンドを使用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。