ホームページ >運用・保守 >Linuxの運用と保守 >Linuxの負荷を確認するにはどのようなコマンドを使用しますか?
Linux 負荷を表示するコマンドは次のとおりです: 1. Linux 負荷を表示する [top] コマンド; 2. Linux 負荷を表示する [uptime] コマンド; 3. Linux 負荷を表示する [w] コマンド; 4. Linux 負荷を表示する [vmstat] コマンド。
Linux 負荷を表示するコマンドは:
1 です。 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 日
Tasks: 176 total, 1 running, 175 sleeping, 0 stopped, 0 zombie
%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 st0.1%us: ユーザー モード プロセスが占有する CPU 時間の割合
0.2%ni : 負の renice 値を持つタスクのユーザーモード プロセスの CPU 時間の割合。 Nice は優先度を意味します
KiB Mem : 3882172 total, 1079980 free, 1684652 used, 1117540 buff/cache
3882172 k total: 合計物理メモリ
1684652k used:使用される物理メモリ
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
PR: プロセスの優先度
NI: 優れた値
VIRT: 占有された仮想メモリ
RES: 占有されている物理メモリ
SHR: 使用されている共有メモリ
S : 進行状況 S: Hibernate R 実行中Z ゾンビ プロセス N Nice 値が負です
%CPU: 占有 CPU
%MEM: 占有メモリ
TIME: CPU が占有した時間の累積値
COMMAND: 開始コマンド
2. 確認稼働時の Linux 負荷:
3. w で Linux 負荷を確認します:
1行目は一番上のコマンドの説明ですUSER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT 説明は次のとおりです。
USER - ログインユーザー名
TTY - ログイン後にシステムによって割り当てられる端末番号
FROM - リモート ホスト名、つまりどこからログインするか
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. その他の操作
: 表示できますCPU 情報、複数のプロセッサは複数の CPU に相当します;
: システム内のすべてのリソースのステータスを監視できます (sar -n DEV でネットワークを確認できます)。カード トラフィック履歴、sar - q 負荷の履歴を確認します。最も役立つのは、ネットワーク カード トラフィックを確認することです。トラフィックが大きすぎる場合: rxpck/s が 4000 より大きいか、rxKB/s が 5000 より大きい場合、攻撃されている可能性があり、パケットのキャプチャと分析が必要です。
: 現在のシステムの合計メモリ サイズとメモリ使用量を表示します。
: プロセスを表示します (ps aux または ps -elf)。多くの場合、プロセスまたはその番号を表示するためにパイプ文字と一緒に使用されます。
wireshark
: パケット キャプチャ ツール。このコマンドを一時的に使用して、現在のサーバー上の Web リクエストを表示できます
以上がLinuxの負荷を確認するにはどのようなコマンドを使用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。