- システムの負荷稼働時間を表示
[root@localhost ~]# uptime
10:18:27 up 6 days, 17:24, 3 users, load average: 0.00, 0.01, 0.05
現在の時刻、システムの実行時間、ログインしたユーザーの数、および過去1分、5分、および15分のシステムの平均負荷。負荷平均の最適値は1です。これは、CPUサイクルを失うことなく、各プロセスをすぐに実行できることを意味します。シングルコアCPU、1-2は通常、マルチコアCPU、コア数はn、n-2nも通常です。
- free空きメモリと使用済みメモリを表示する
[root@kafka3 ~]# free -m
total used free shared buff/cache available
Mem: 7703 2318 3750 281 1635 4802
Swap: 7935 0 7935
topと同様に、htop、htopはtopの拡張拡張と見なすことができますが、追加のインストールが必要です
- vmstat
[root@localhost ~]# vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 582132 1260 2738456 0 0 1 2 30 15 0 0 100 0 0
0 0 0 582116 1260 2738456 0 0 0 0 65 144 0 0 100 0 0
0 0 0 582116 1260 2738456 0 0 0 0 49 115 0 0 100 0 0
0 0 0 582116 1260 2738456 0 0 0 0 69 149 0 1 100 0 0
0 0 0 582116 1260 2738456 0 0 0 0 55 126 0 0 100 0 0
[root@localhost ~]# vmstat -a
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
1 0 0 580708 748036 2106624 0 0 1 2 30 16 0 0 100 0 0
vmstat 15の意味は、1秒に1回実行され、合計5回実行されることです。
5つの列があります。
- procs
- r実行可能なプロセスの数(実行中または実行の待機中)。CPUを待機しているプロセスの数を表示します
- b中断できないスリープ状態にあるプロセスの数。ioを待機しているプロセスの数
- 記憶
- swpd仮想メモリサイズ
- 空き空きメモリサイズ
- バフバッファサイズ
- キャッシュキャッシュサイズ
- アクティブ化されていないメモリの量を無効にします
- アクティブによって現在使用されているメモリの量
- スワップ
- サイズのsiスワップ
- ブロックが10を超える場合、高性能が確実に同時実行性を低下させる場合、サイズは2つの値の多くをスワップアウトします0
- ioはioの効率を反映します
- biブロックデバイスから受信したブロックの数
- boブロックデバイスに送信されたブロックの数
- システムは通常、システム機能の使用法です
- クロックを含む1秒あたりの割り込み数
- cs1秒あたりのコンテキストスイッチの数
- CPUの次の4つのパラメータは、合計で100%になります。これは、CPU使用率の内訳です。
- us非カーネルコードの実行時間
- syカーネルコードの実行時間
- id自由時間
- わいお待ち時間
- st仮想マシンから盗まれた時間
。vmstatを使用すると、CPU、IOデバイス、およびメモリのステータスを明確に知ることができます。システムのボトルネックを見つけるための基礎を提供します。
- mpstatビューCPU情報
[root@localhost ~]# mpstat -P ALL 1 2
Linux 3.10.0-327.el7.x86_64 (localhost.localdomain) 01/11/2021 _x86_64_ (2 CPU)
10:51:17 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
10:51:18 AM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
10:51:18 AM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
10:51:18 AM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
10:51:18 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
10:51:19 AM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
10:51:19 AM 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
10:51:19 AM 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Average: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
Average: all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Average: 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Average: 1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
上記のように2つのCPUがあり、mpstatはそれらのインジケーターを別々に出力します
- %usrユーザーモードプロセスのCPU使用率
- %niceは、ユーザーモードプロセスのCPU使用率の優先度を指定します
- カーネルモードプロセスの%sys CPU使用率(ソフトウェアおよびハードウェア割り込みを除く)
- %iowait未処理のディスクI / O要求の期間中、CPUアイドルの割合
- %irqCPUサービスハードウェア割り込み使用率
- %ソフトCPUサービスソフトウェア割り込み使用率
- %仮想CPUを盗む、またはCPUが費やした非自発的待機時間の割合
- %仮想プロセッサを実行しているゲストCPUの割合
- %gniceCPUがnicegurstを実行する時間の割合
- %アイドルCPUアイドル率
- pidstatLinuxタスクの統計はトップに似ています
[root@localhost ~]# pidstat 1 3
Linux 3.10.0-327.el7.x86_64 (localhost.localdomain) 01/11/2021 _x86_64_ (2 CPU)
11:10:12 AM UID PID %usr %system %guest %CPU CPU Command
11:10:13 AM 0 11997 0.98 0.98 0.00 1.96 0 pidstat
11:10:13 AM UID PID %usr %system %guest %CPU CPU Command
11:10:14 AM 0 11997 1.00 2.00 0.00 3.00 0 pidstat
11:10:14 AM UID PID %usr %system %guest %CPU CPU Command
11:10:15 AM 0 11997 0.00 0.99 0.00 0.99 0 pidstat
Average: UID PID %usr %system %guest %CPU CPU Command
Average: 0 11997 0.66 1.32 0.00 1.98 - pidstat
- iostat IOデバイス(通常はディスク、パーティション)の統計分析
[root@kafka3 ~]# iostat -xz 1 5
Linux 3.10.0-1127.19.1.el7.x86_64 (kafka3.sd.cn) 01/10/2021 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.35 0.00 0.20 0.00 0.00 99.44
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.02 0.01 1.12 0.22 5.35 9.88 0.01 8.58 7.13 8.59 7.58 0.85
sdb 0.00 0.00 0.00 0.00 0.00 0.00 58.72 0.00 0.33 0.33 0.00 0.14 0.00
dm-0 0.00 0.00 0.01 0.87 0.20 5.35 12.67 0.01 11.39 7.11 11.44 9.75 0.85
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 50.09 0.00 14.48 14.48 0.00 11.82 0.00
dm-2 0.00 0.00 0.00 0.00 0.00 0.00 48.19 0.00 0.56 0.56 0.00 0.30 0.00
dm-3 0.00 0.00 0.00 0.00 0.00 0.00 48.19 0.00 0.40 0.40 0.00 0.23 0.00
dm-4 0.00 0.00 0.00 0.00 0.00 0.00 48.19 0.00 0.42 0.42 0.00 0.30 0.00
dm-5 0.00 0.00 0.00 0.00 0.00 0.00 83.98 0.00 13.35 16.40 7.48 11.57 0.00
avg-cpu: %user %nice %system %iowait %steal %idle
0.25 0.00 0.25 0.50 0.00 99.00
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 1.00 3.00 8.00 12.00 10.00 0.04 9.25 14.00 7.67 9.25 3.70
dm-0 0.00 0.00 1.00 2.00 8.00 12.00 13.33 0.04 12.33 14.00 11.50 12.33 3.70
avg-cpu: %user %nice %system %iowait %steal %idle
0.25 0.00 0.00 0.00 0.00 99.75
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
avg-cpu: %user %nice %system %iowait %steal %idle
0.25 0.00 0.25 0.00 0.00 99.50
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
avg-cpu: %user %nice %system %iowait %steal %idle
0.25 0.00 0.00 0.00 0.00 99.75
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
パラメータはたくさんありますが、詳細はマンマニュアルを参照してください。ここに重要なポイントがあります。
rrqm / s wrqm / s
などのパラメーターは、1秒あたりの読み取りと書き込みの合計数(r)を意味します。つまり、実際のディスクに書き込むために1つの要求に結合される論理要求の数
r / sw / s rkB / s wkB / s
デバイスに送信される1秒あたりの読み取りおよび書き込み要求、セクター。
avgrq-sz avgqu-szデバイスに送信された平均(avg)サイズ(sz)。quはリクエストキューを表し、rqはリクエストのサイズを表し、単位はセクターです。
await r_await w_await ioデバイスに送信される待機時間(ミリ秒単位)。
7.sarネットワーク検出
7.1ネットワークカードのスループットを確認します
[root@localhost ~]# sar -n DEV 1 3
Linux 3.10.0-327.el7.x86_64 (localhost.localdomain) 01/11/2021 _x86_64_ (2 CPU)
11:33:07 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
11:33:08 AM ens32 2.00 0.00 0.14 0.00 0.00 0.00 0.00
11:33:08 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:33:08 AM virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:33:08 AM virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:33:08 AM ens33 2.00 0.00 0.14 0.00 0.00 0.00 0.00
11:33:08 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
11:33:09 AM ens32 2.00 1.00 0.12 0.65 0.00 0.00 0.00
11:33:09 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:33:09 AM virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:33:09 AM virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:33:09 AM ens33 1.00 0.00 0.06 0.00 0.00 0.00 0.00
11:33:09 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
11:33:10 AM ens32 1.00 1.00 0.06 0.65 0.00 0.00 0.00
11:33:10 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:33:10 AM virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:33:10 AM virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:33:10 AM ens33 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
Average: ens32 1.67 0.67 0.10 0.43 0.00 0.00 0.00
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: ens33 1.00 0.00 0.07 0.00 0.00 0.00 0.00
Rxpck / s:1秒あたり
に受信されたパケットの総数txpck / s:1秒あたりに送信されたパケットの総数
rxcmp / s txcmp / s cmは、圧縮圧縮を意味します
7.2
[root@localhost ~]# sar -n TCP 1 3
Linux 3.10.0-327.el7.x86_64 (localhost.localdomain) 01/11/2021 _x86_64_ (2 CPU)
11:39:10 AM active/s passive/s iseg/s oseg/s
11:39:11 AM 0.00 0.00 0.00 0.00
11:39:12 AM 0.00 0.00 1.00 1.00
11:39:13 AM 0.00 0.00 1.00 1.00
Average: 0.00 0.00 0.67 0.67
[root@localhost ~]# sar -n TCP,ETCP 1 3
Linux 3.10.0-327.el7.x86_64 (localhost.localdomain) 01/11/2021 _x86_64_ (2 CPU)
11:40:04 AM active/s passive/s iseg/s oseg/s
11:40:05 AM 0.00 0.00 1.00 0.00
11:40:04 AM atmptf/s estres/s retrans/s isegerr/s orsts/s
11:40:05 AM 0.00 0.00 0.00 0.00 0.00
11:40:05 AM active/s passive/s iseg/s oseg/s
11:40:06 AM 0.00 0.00 1.00 1.00
11:40:05 AM atmptf/s estres/s retrans/s isegerr/s orsts/s
11:40:06 AM 0.00 0.00 0.00 0.00 0.00
11:40:06 AM active/s passive/s iseg/s oseg/s
11:40:07 AM 0.00 0.00 1.00 1.00
11:40:06 AM atmptf/s estres/s retrans/s isegerr/s orsts/s
11:40:07 AM 0.00 0.00 0.00 0.00 0.00
Average: active/s passive/s iseg/s oseg/s
Average: 0.00 0.00 1.00 0.67
Average: atmptf/s estres/s retrans/s isegerr/s orsts/s
Average: 0.00 0.00 0.00 0.00 0.00
3つの重要な指標
- active / s:TCP接続が1秒あたりのCLOSED状態からSYN-SENT状態に直接移行した回数[tcpActiveOpens]。これは、このマシンによって開始されたTCP接続の数を意味します。
- パッシブ/秒:TCP接続が1秒あたりのLISTEN状態からSYN-RCVD状態に直接遷移した回数[tcpPassiveOpens]。远程ρ起的TCPWebSphere接数/ s
- retrans / s:1秒あたりに再送信されたセグメントの総数-つまり、以前に送信された1つ以上のオクテット[tcpRetransSegs]を含む送信されたTCPセグメントの数。メッセージの再送信数が多い
と、パケットが失われます。
- netstat
印刷ネットワーク接続、ルーティングテーブル、インターフェイス統計、マスカレード接続、およびマルチキャストメンバーシップ
は、主にネットワークステータスの検出に使用されます。これは、「パフォーマンス」に直接関係しない場合がありますが、多くの情報を見つけるのにも役立ちます。たとえば、TIME_WAITが多い現在のプログラムは何ですか。
[root@localhost ~]# netstat -anpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 16308/mysqld
tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 1584/distccd
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 2823/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1577/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1580/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2235/master
tcp 0 0 10.10.154.22:22 10.10.157.52:51734 ESTABLISHED 27116/sshd: root@no
tcp 0 0 10.10.154.22:22 10.10.157.52:56956 ESTABLISHED 7862/sshd: root@pts
tcp 0 0 10.10.154.22:3306 10.10.154.148:58896 ESTABLISHED 16308/mysqld
tcp6 0 0 :::22 :::* LISTEN 1577/sshd
tcp6 0 0 ::1:631 :::* LISTEN 1580/cupsd
tcp6 0 0 ::1:25 :::* LISTEN 2235/master
一般的なパラメータは次のとおりです
-t tcp
-a, --all display all sockets (default: connected)
-n, --numeric don't resolve names
-p, --programs display PID/Program name for sockets
-l, --listening display listening server sockets
``
参考
[0] https://baike.baidu.com/item/uptime/8818329?fr=aladdin
[1] https://blog.csdn.net/tencent_teg/article/details/106561235
[2] https://linux.die.net/man/1/sar
[3] https://linux.die.net/man/1/iostat
[4] https://linux.die.net/man/1/pmstat
[5] 高性能MySQL