ホームページ 運用・保守 Linuxの運用と保守 Linux でシステム負荷を確認する方法

Linux でシステム負荷を確認する方法

Aug 02, 2019 pm 05:27 PM
linux

Linux でシステム負荷を確認する方法

オペレーティング システムの負荷ステータスはアプリケーションのリソース使用状況を反映しており、そこからアプリケーション最適化のボトルネックを見つけることができます。

システム負荷平均とは、実行中または中断されないプロセスの平均数を指します。 \

は実行中です。これは、CPU を占有している実行状態、または CPU スケジューリングを待機している準備完了状態を意味します。 \

「邪魔しないでください、ブロックを示し、I/O を待機しています」

推奨事項: [linux ビデオ チュートリアル]

Linux システムでは、通常、負荷条件には uptime コマンドが使用されます (w コマンドや top コマンドも使用できます)*

1. uptime コマンド

$ uptime\
16:33:56 up 69 days,  5:10,  1 user,  load average: 0.14, 0.24, 0.29
ログイン後にコピー

上記の情報は次のように分析されます:

16:33:56 : 現在時刻

up 69 days, 5:10 : システムは 69 日間 5 時間 10 分稼働しています

1 ユーザー :現在 1 人のユーザーがシステムにログインしています 負荷平均: 0.14、0.24、0.29: 過去 1 分、5 分、および 15 分間のシステムの平均負荷

負荷平均: 0.14、0.24、0.29 : 過去 1 分、5 分、15 分のシステムの平均負荷 負荷

平均負荷分析

論理 CPU コア数の表示:

$ grep 'model name' /proc/cpuinfo | wc -l\
1\
ログイン後にコピー

実行結果は、論理 CPU コアが 1 つあることを示しています。 1 つの CPU コアを例として、CPU が 1 分あたり最大 100 プロセスを処理すると仮定します –

load=0、CPU

load=0.5 を必要とするプロセスはなく、CPU は 50 プロセスを処理します

load=1、CPU は 100 プロセスを処理しました。現時点では CPU は完全に占有されていますが、システムは引き続きスムーズに動作します。

load=1.5、CPU は 100 プロセスを処理しました、まだ 50 個のプロセスが削除され、CPU 処理を待機しています。この時点で、CPU はすでに過負荷になっています。

システムがスムーズに動作するためには、負荷値が 1.0 を超えてはなりません。そのため、どのプロセスも待つ必要がなく、すべてのプロセスが初めて処理され、すぐに処理されます。 \

明らかに 1.0 が重要な値であり、この値を超えるとシステムは最適な状態にはなりません。一般に 0.7 が理想的な値です。 \

さらに、負荷値の健全性ステータスは、システム内の CPU コアの数にも関連します。CPU コアの数が 2 の場合、負荷値の健全性値は 2 である必要があります。 、 等々。 \

評価システムの負荷は通常、15 分以内の平均負荷値を使用します。

2. w command

$ w\
 17:47:40 up 69 days,  6:24,  1 user,  load average: 0.46, 0.26, 0.25\
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT\
lvinkim  pts/0    14.18.144.2      15:55    0.00s  0.02s  0.00s w
ログイン後にコピー

1 行目: 稼働時間 1 と同じ。 \

2 行目の下には、現在ログインしているユーザーのリストが表示されます。

3. トップ コマンド

$ top\
top - 17:51:23 up 69 days,  6:28,  1 user,  load average: 0.31, 0.30, 0.26\
Tasks:  99 total,   1 running,  98 sleeping,   0 stopped,   0 zombie\
Cpu(s):  2.3%us,  0.2%sy,  0.0%ni, 97.4%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st\
Mem:   1922244k total,  1737480k used,   184764k free,   208576k buffers\
Swap:        0k total,        0k used,        0k free,   466732k cached\
\
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                \
    1 root      20   0 19232 1004  708 S  0.0  0.1   0:01.17 init                                                                    \
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.01 kthreadd                                                                \
...
ログイン後にコピー

1 行目: 稼働時間 1 と同じ。

行 2: プロセス番号情報。

タスク: 合計 99: 合計 99 のプロセスがあります

1 実行中: 1 つのプロセスが CPU を占有しています

98 スリープ: 98 のスリープ プロセス

0 停止: 0 停止プロセス

0 ゾンビ: 0 ゾンビ プロセス

行 3: CPU 使用率

us (ユーザー): 非適切なユーザー プロセスによって占有されています CPU 比率

sy (システム): CPU を占有しているカーネルとカーネル プロセスの比率

#ni (nice): ユーザー プロセス空間で優先順位が変更されたプロセスによって占有されている CPU の比率

id ​​(idle): CPU アイドル率。システムが遅く、この値が高い場合、システムが遅い理由は高い CPU 負荷ではないことを意味します。

wa (iowait) : I/O 操作の実行を待機している CPU の時間比率。このインジケーターはディスク I/O 問題のトラブルシューティングに使用でき、通常は wa と id を組み合わせて

hi (ハードウェア IRQ) を決定します。 CPU がハードウェア割り込みを処理するのに費やした時間の割合

si (ソフトウェア割り込み): CPU がソフトウェア割り込みを処理するのに費やした時間の割合

st (スチール): 経過時間、仮想マシン内の他のタスクが占める CPU 時間の割合

注意が必要な状況:

ユーザー プロセスの割合が高く、I/O 操作が低いことを意味します。システムが遅くなる理由は、プロセスが多くの CPU を消費するためです。通常、アイドル率 ID が低くなります。これは、CPU のアイドル時間が非常に短いことを意味します。

I/O 動作 wa が低く、アイドル率 id が高い場合、CPU リソースのボトルネックの可能性を排除できます。

I/O 操作が高い: I/O が多くの CPU 時間を消費していることを意味します。スワップ スペースの使用状況を確認する必要があります。スワップ スペースはディスク上にあり、パフォーマンスは大幅に向上します。メモリが使い果たされたら、スワップの使用を開始します。スペースを使用すると、パフォーマンスに重大な影響を与えるため、より高いパフォーマンス要件を持つサーバーの場合は、通常、スワップ スペースをオフにすることをお勧めします。一方、メモリは十分にあるのに wa が高い場合は、どのプロセスが I/O リソースを多く消費しているかを確認する必要があります。

実際には、より多くの負荷状況を柔軟に判断できます。

4. iostat コマンド

iostat コマンドは、システム パーティションの IO 使用状況を確認できます

$ iostat \
Linux 2.6.32-573.22.1.el6.x86_64 (sgs02)   01/20/2017     _x86_64_   (1 CPU)\
\
avg-cpu:  %user   %nice %system %iowait  %steal   %idle\
           2.29    0.00    0.25    0.04    0.00   97.41\
\
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn\
vda               1.15         3.48        21.88   21016084  131997520
ログイン後にコピー

注目すべき IO インジケーター:

デバイス: ディスク名

tps: 1 秒あたりの I/O 転送リクエスト

Blk_read/s: 1 秒あたりに読み取られるブロック数ブロック サイズを表示するには、コマンドtune2fs

## を参照してください。 #Blk_wrtn/s: 1 秒あたりに書き込まれるブロック数

Blk_read: 合計で読み取られるブロック数

–Blk_wrtn: 合計で書き込まれるブロック数

5 . iotop コマンド

iotop このコマンドは、top コマンドに似ていますが、各プロセスの I/O ステータスを表示するため、負荷の高い I/O 操作を行うプロセスを特定するのに役立ちます。 \

# iotop\
Total DISK READ: 0.00 B/s | Total DISK WRITE: 774.52 K/s\
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                \
  272 be/3 root        0.00 B/s    0.00 B/s  0.00 %  4.86 % [jbd2/vda1-8]\
 9072 be/4 mysql       0.00 B/s  268.71 K/s  0.00 %  0.00 % mysqld\
 5058 be/4 lvinkim     0.00 B/s    3.95 K/s  0.00 %  0.00 % php-fpm: pool www\
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init
ログイン後にコピー

さまざまなタスクの読み書きの強度を確認できます。

6.sysstat ツール

很多时候当检测到或者知道历史的高负载状况时,可能需要回放历史监控数据,这时 sar 命令就派上用场了,sar 命令同样来自 sysstat 工具包,可以记录系统的 CPU 负载、I/O 状况和内存使用记录,便于历史数据的回放。

sysstat 的配置文件在 /etc/sysconfig/sysstat 文件,历史日志的存放位置为 /var/log/sa\

统计信息都是每 10 分钟记录一次,每天的 23:59 会分割统计文件,这些操作的频率都在 /etc/cron.d/sysstat 文件配置。\

七、sar 命令

使用 sar 命令查看当天 CPU 使用:

$ sar\
Linux 2.6.32-431.23.3.el6.x86_64 (szs01)   01/20/2017     _x86_64_   (1 CPU)\
\
10:50:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle\
11:00:01 AM     all      0.45      0.00      0.22      0.40      0.00     98.93\
Average:        all      0.45      0.00      0.22      0.40      0.00     98.93
ログイン後にコピー

使用 sar 命令查看当天内存使用:

$ sar -r\
Linux 2.6.32-431.23.3.el6.x86_64 (szs01)   01/20/2017     _x86_64_   (1 CPU)\
\
10:50:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit\
11:00:01 AM     41292    459180     91.75     44072    164620    822392    164.32\
Average:        41292    459180     91.75     44072    164620    822392    164.32
ログイン後にコピー

使用 sar 命令查看当天 IO 统计记录:

$ sar -b\
Linux 2.6.32-431.23.3.el6.x86_64 (szs01)   01/20/2017     _x86_64_   (1 CPU)\
\
10:50:01 AM       tps      rtps      wtps   bread/s   bwrtn/s\
11:00:01 AM      3.31      2.14      1.17     37.18     16.84\
Average:         3.31      2.14      1.17     37.18     16.84
ログイン後にコピー

更多 sar 用法,请 man sar 。

以上がLinux でシステム負荷を確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CentosとUbuntuの違い CentosとUbuntuの違い Apr 14, 2025 pm 09:09 PM

Centosとubuntuの重要な違いは次のとおりです。起源(CentosはRed Hat、for Enterprises、UbuntuはDebianに由来します。個人用のDebianに由来します)、パッケージ管理(CentosはYumを使用し、安定性に焦点を当てます。チュートリアルとドキュメント)、使用(Centosはサーバーに偏っています。Ubuntuはサーバーやデスクトップに適しています)、その他の違いにはインストールのシンプルさが含まれます(Centos is Thin)

Centosをインストールする方法 Centosをインストールする方法 Apr 14, 2025 pm 09:03 PM

Centosのインストール手順:ISO画像をダウンロードし、起動可能なメディアを燃やします。起動してインストールソースを選択します。言語とキーボードのレイアウトを選択します。ネットワークを構成します。ハードディスクをパーティション化します。システムクロックを設定します。ルートユーザーを作成します。ソフトウェアパッケージを選択します。インストールを開始します。インストールが完了した後、ハードディスクから再起動して起動します。

Centosはメンテナンスを停止します2024 Centosはメンテナンスを停止します2024 Apr 14, 2025 pm 08:39 PM

Centosは、上流の分布であるRhel 8が閉鎖されたため、2024年に閉鎖されます。このシャットダウンはCentos 8システムに影響を与え、更新を継続し続けることができません。ユーザーは移行を計画する必要があり、提案されたオプションには、Centos Stream、Almalinux、およびRocky Linuxが含まれ、システムを安全で安定させます。

Dockerの原則の詳細な説明 Dockerの原則の詳細な説明 Apr 14, 2025 pm 11:57 PM

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

セントスにハードディスクをマウントする方法 セントスにハードディスクをマウントする方法 Apr 14, 2025 pm 08:15 PM

CentOSハードディスクマウントは、次の手順に分割されます。ハードディスクデバイス名(/dev/sdx)を決定します。マウントポイントを作成します( /mnt /newdiskを使用することをお勧めします);マウントコマンド(Mount /dev /sdx1 /mnt /newdisk)を実行します。 /etc /fstabファイルを編集して、永続的なマウント構成を追加します。 Umountコマンドを使用して、デバイスをアンインストールして、プロセスがデバイスを使用しないことを確認します。

Centosがメンテナンスを停止した後の対処方法 Centosがメンテナンスを停止した後の対処方法 Apr 14, 2025 pm 08:48 PM

CentOSが停止した後、ユーザーは次の手段を採用して対処できます。Almalinux、Rocky Linux、Centosストリームなどの互換性のある分布を選択します。商業分布に移行する:Red Hat Enterprise Linux、Oracle Linuxなど。 Centos 9ストリームへのアップグレード:ローリングディストリビューション、最新のテクノロジーを提供します。 Ubuntu、Debianなど、他のLinuxディストリビューションを選択します。コンテナ、仮想マシン、クラウドプラットフォームなどの他のオプションを評価します。

メンテナンスを停止した後のCentosの選択 メンテナンスを停止した後のCentosの選択 Apr 14, 2025 pm 08:51 PM

Centosは廃止されました、代替品には次のものが含まれます。1。RockyLinux(最高の互換性)。 2。アルマリン(Centosと互換性); 3。Ubuntuサーバー(設定が必要); 4。RedHat Enterprise Linux(コマーシャルバージョン、有料ライセンス); 5。OracleLinux(CentosとRhelと互換性があります)。移行する場合、考慮事項は次のとおりです。互換性、可用性、サポート、コスト、およびコミュニティサポート。

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

See all articles