备注:测试数据库版本为MySQL 8.0

文章目录

  • 一.查看CPU信息
    • 1.1 查看物理CPU个数
    • 1.2 查看每个物理CPU中core的个数(即核数)
    • 1.3 查看逻辑CPU的个数
    • 1.4 查看CPU信息(型号)
    • 1.5 查看CPU的负载
  • 二.查看内存及交换空间
    • 2.1 /proc/meminfo
    • 2.2 free 命令
    • 2.3 释放cache
  • 三.磁盘信息
    • 3.1 fdisk命令
    • 3.2 查看磁盘的性能
  • 四.网络资源
    • 4.1 查看网卡基本信息
    • 4.2 查看网卡接口的速度
    • 4.3 网卡流量监控工具 iptraf
    • 4.4 netstat查看网络连接
    • 4.5 网络测试命令
    • 4.6 查看是否丢包
  • 五. 常用的监控工具
    • 5.1 全能的监控工具dstat
    • 5.2 top命令
    • 5.3 sar命令
      • 5.3.1 CPU资源监控
      • 5.3.2 内存和交换空间监控
      • 5.3.3 I/O和传送速率监控
      • 5.3.4 各磁盘的使用率监控
      • 5.3.5 sar查看网卡流量
      • 5.3.6 sar命令小结
    • 5.4 iostat命令
      • 5.4.1 显示所有设备的负载
      • 5.4.2 查看单个磁盘的统计信息
      • 5.4.3 查看逻辑卷的统计信息
    • 5.5 vmstat命令
  • 参考:

一.查看CPU信息

总核数 = 物理CPU个数 X 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

1.1 查看物理CPU个数

代码:

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

测试记录:

[root@mydb ~]# cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
1

1.2 查看每个物理CPU中core的个数(即核数)

代码:

cat /proc/cpuinfo| grep "cpu cores"| uniq

测试记录:

[root@mydb ~]# cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores       : 8

1.3 查看逻辑CPU的个数

代码:

cat /proc/cpuinfo| grep "processor"| wc -l

测试记录:

[root@mydb ~]# cat /proc/cpuinfo| grep "processor"| wc -l
16

1.4 查看CPU信息(型号)

代码:

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

测试记录:

[root@mydb ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c16  Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz

1.5 查看CPU的负载

一般使用top命令来看CPU的负载:

[root@mydb ~]# top
top - 13:56:35 up 1012 days,  2:52,  2 users,  load average: 0.44, 0.74, 0.78
Tasks: 662 total,   1 running, 660 sleeping,   0 stopped,   1 zombie
Cpu(s):  7.9%us,  1.4%sy,  0.0%ni, 86.9%id,  3.7%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  33013360k total, 32320120k used,   693240k free,     8360k buffers
Swap: 16777212k total,  2047684k used, 14729528k free, 26327424k cachedPID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
21508 oracle    20   0 18.1g 329m 313m S  5.8  1.0   6549:46 oracle
22979 oracle    20   0 18.0g 345m 342m S  3.9  1.1   0:03.94 oracle
28118 root      20   0 17464 1688  896 R  3.9  0.0   0:00.02 top                                                                                                                                          4150 oracle    20   0  607m  34m 3260 S  1.9  0.1   5422:14 extract
16032 oracle    20   0  522m  34m 3000 S  1.9  0.1 451:50.61 replicat
20408 oracle    20   0 5783m 558m 1620 S  1.9  1.7   1064:12 java
21529 oracle    20   0 18.0g 1.1g 1.1g S  1.9  3.4   2042:26 oracle
22704 oracle    20   0  473m 8300 1724 S  1.9  0.0 106:03.15 server                                                                                                                                       1 root      20   0 21400  372  176 S  0.0  0.0  30:04.17 init                                                                                                                                         2 root      20   0     0    0    0 S  0.0  0.0   0:02.35 kthreadd                                                                                                                                     3 root      RT   0     0    0    0 S  0.0  0.0  16:36.78 migration/0

load average: 即任务队列的平均长度,如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

二.查看内存及交换空间

2.1 /proc/meminfo

命令:

cat /proc/meminfo

测试记录:

[root@mydb ~]# cat /proc/meminfo
MemTotal:       33013360 kB
MemFree:          512656 kB
Buffers:            9976 kB
Cached:         26476312 kB
SwapCached:       162928 kB
Active:         23151748 kB
Inactive:        6444968 kB
Active(anon):   18516392 kB
Inactive(anon):  2012552 kB
Active(file):    4635356 kB
Inactive(file):  4432416 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:      16777212 kB
SwapFree:       14729528 kB
Dirty:               204 kB
Writeback:             0 kB
AnonPages:       2987664 kB
Mapped:         17342640 kB
Shmem:          17418484 kB
Slab:             322072 kB
SReclaimable:     232712 kB
SUnreclaim:        89360 kB
KernelStack:       17968 kB
PageTables:      2293392 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    33283892 kB
Committed_AS:   28046004 kB
VmallocTotal:   34359738367 kB
VmallocUsed:       69828 kB
VmallocChunk:   34359658920 kB
HardwareCorrupted:     0 kB
AnonHugePages:    618496 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:        6016 kB
DirectMap2M:     2091008 kB
DirectMap1G:    31457280 kB

2.2 free 命令

命令:

free
free -m
free -g

测试记录:

[root@mydb ~]# freetotal       used       free     shared    buffers     cached
Mem:      33013360   32748708     264652   17418484       4740   26755832
-/+ buffers/cache:    5988136   27025224
Swap:     16777212    2047684   14729528
[root@mydb ~]#
[root@mydb ~]# free -mtotal       used       free     shared    buffers     cached
Mem:         32239      31980        258      17010          4      26128
-/+ buffers/cache:       5847      26392
Swap:        16383       1999      14384
[root@mydb ~]#
[root@mydb ~]# free -gtotal       used       free     shared    buffers     cached
Mem:            31         31          0         16          0         25
-/+ buffers/cache:          5         25
Swap:           15          1         14

buffer和cache的区别
buffer(缓冲)是为了提高内存和硬盘(或其他I/O设备)之间的数据交换的速度而设计的
cache(缓存)是从CPU角度考虑,是为了提高cpu和内存之间的数据交换速度而设计的

free命令解释:

  1. used=total-free 即 total=used+free
  2. 实际内存占用:used-buffers-cached 即 total-free-buffers-cached
  3. 实际可用内存:buffers+cached+free

下面以上面的free -m命令的输出来解释

  1. 第1行Mem数据:
    total 内存总数: 32239
    used 已经使用的内存数: 31980
    free 空闲的内存数: 258
    shared 被共享使用的物理内存: 17010
    buffers Buffer Cache内存数: 4
    cached Page Cache内存数: 26128

  2. -/+ buffers/cache:
    -buffers/cache 的内存数:5847 (等于第1行的 used - buffers - cached)
    +buffers/cache 的内存数: 26392 (等于第1行的 free + buffers + cached)
    可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。

  3. 交换分区SWAP
    可以看到此例由于cache太多,导致使用了1999M swap空间。

2.3 释放cache

释放方法有三种(系统默认值是0,释放之后你可以再改回0值):
To free pagecache: echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes: echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes: echo 3 > /proc/sys/vm/drop_caches

三.磁盘信息

3.1 fdisk命令

fdisk命令是看该机器下有多少的磁盘

命令:

fdisk -l

测试记录:

[root@mydb ~]# fdisk -lDisk /dev/vda: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00020f78Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *           1       26109   209713152   83  Linux

fdisk 命令可以看到盼复以及磁盘的容量。

如果fdisk的输出 有HDD特有的关键字,比如:”heads”(磁头),”track”(磁道)和”cylinders”(柱面),那么就是HDD,否则就是SSD(固态硬盘)。

3.2 查看磁盘的性能

命令:

iostat -x 10

测试记录:

[root@mydb2~]# iostat -x 10
Linux 3.10.0-1127.8.2.el7.x86_64 (mydb2)      05/07/2021      _x86_64_        (2 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle5.00    0.00    2.39    0.89    0.00   91.72Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.02     7.48    1.83   17.27   148.01   326.21    49.66     0.06    3.66   21.90    1.73   0.87   1.67avg-cpu:  %user   %nice %system %iowait  %steal   %idle51.78    0.00   13.98    0.10    0.00   34.14Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00     4.60    1.30    3.10    80.80    49.60    59.27     0.01    1.84    2.92    1.39   1.30   0.57avg-cpu:  %user   %nice %system %iowait  %steal   %idle47.44    0.00   12.21    1.32    0.00   39.03Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda               0.00    12.50    1.90   41.40   134.40  1204.80    61.86     0.06    1.52    2.00    1.50   0.53   2.29

四.网络资源

4.1 查看网卡基本信息

命令:

ip addr
ifconfig

测试记录:

[root@mydb ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000link/ether 00:16:3e:0a:60:00 brd ff:ff:ff:ff:ff:ffinet 172.18.1.6/20 brd 172.18.15.255 scope global eth0
[root@mydb ~]#
[root@mydb ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:3E:0A:60:00  inet addr:172.18.1.6  Bcast:172.18.15.255  Mask:255.255.240.0UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:137515926477 errors:0 dropped:0 overruns:0 frame:0TX packets:79878398077 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:161443204416339 (146.8 TiB)  TX bytes:425205658311024 (386.7 TiB)lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0UP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:10063583513 errors:0 dropped:0 overruns:0 frame:0TX packets:10063583513 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:6331958540844 (5.7 TiB)  TX bytes:6331958540844 (5.7 TiB)

下面我们来看看ifconfig eth0这个网卡的输出信息:
第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)
第二行:网卡的IP地址、子网、掩码
第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节
第四、五行:接收、发送数据包情况统计
第七行:接收、发送数据字节数统计信息。

RX和TX代表什么?
transmitter 发送
receiver 接收
X 为了好读

4.2 查看网卡接口的速度

命令:

ethtool ens192

测试记录:

[root@hp1 ~]# ethtool ens192
Settings for ens192:Supported ports: [ TP ]Supported link modes:   1000baseT/Full 10000baseT/Full Supported pause frame use: NoSupports auto-negotiation: NoSupported FEC modes: Not reportedAdvertised link modes:  Not reportedAdvertised pause frame use: NoAdvertised auto-negotiation: NoAdvertised FEC modes: Not reportedSpeed: 10000Mb/sDuplex: FullPort: Twisted PairPHYAD: 0Transceiver: internalAuto-negotiation: offMDI-X: UnknownSupports Wake-on: uagWake-on: dLink detected: yes

从上面可以看到网卡的速度是 10000Mb/s

4.3 网卡流量监控工具 iptraf

iptraf 是一个比较好的监控网卡流量的工具。

yum安装:

yum install -y iptraf

直接输入iptraf-ng ,第一项就是流量监控

界面分上下两部分,上部分可详细显示哪个与之相连的IP,发了多少包(bytes),即时流量是多少,下部分,可以显示udp等信息。

1byte=8bit,可以推算网卡是否满负荷运行。

也可以借助本文第五章节的dstat命令来查看网络的负载

4.4 netstat查看网络连接

命令:

netstat -an  # 表示查看所有网络连接

测试记录:

[root@hp1 ~]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:7191            0.0.0.0:*               LISTEN
tcp        0      0 10.31.1.123:8888        0.0.0.0:*               LISTEN
tcp        0      0 10.31.1.123:8088        0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:19001         0.0.0.0:*               LISTEN
tcp        0      0 10.31.1.123:8091        0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:9083            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:25020           0.0.0.0:*               LISTEN
tcp        0      0 10.31.1.123:8033        0.0.0.0:*               LISTEN
tcp        0      0 10.31.1.123:10020       0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:46053         0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:2181            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:18088           0.0.0.0:*               LISTEN
tcp        0      0 10.31.1.123:9864        0.0.0.0:*               LISTEN
tcp        0      0 10.31.1.123:9000        0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:9001          0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:9994            0.0.0.0:*               LISTEN
tcp        0      0 10.31.1.123:9866        0.0.0.0:*               LISTEN
tcp        0      0 10.31.1.123:9995        0.0.0.0:*               LISTEN
-- snip --

4.5 网络测试命令

代码:

-- 测试是否可以ping通
ping IP或域名-- 测试远程的端口是否开通
telnet [域名或IP] [端口]-- 查看路由
traceroute [选项] IP或域名-- 网络抓包命令
tcpdump 网络抓包命令

测试记录:

[root@hp1 ~]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=56 time=7.10 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=56 time=7.28 ms
64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=3 ttl=56 time=7.06 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 7.064/7.153/7.287/0.096 ms[root@hp1 ~]# telnet 10.31.1.124 22
Trying 10.31.1.124...
Connected to 10.31.1.124.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4Protocol mismatch.
Connection closed by foreign host.
[root@hp1 ~]# [root@hp1 ~]# traceroute www.baidu.com
traceroute to www.baidu.com (14.215.177.39), 30 hops max, 60 byte packets1  172.30.210.254 (172.30.210.254)  0.301 ms  0.237 ms  0.199 ms2  100.64.0.1 (100.64.0.1)  2.714 ms  2.895 ms  2.954 ms3  25.187.37.59.broad.dg.gd.dynamic.163data.com.cn (59.37.187.25)  4.206 ms  4.785 ms  4.651 ms4  113.106.34.253 (113.106.34.253)  19.535 ms 219.133.207.85 (219.133.207.85)  6.580 ms 113.106.35.1 (113.106.35.1)  6.335 ms5  * * 113.96.5.114 (113.96.5.114)  6.685 ms6  113.96.4.205 (113.96.4.205)  14.035 ms 90.96.135.219.broad.fs.gd.dynamic.163data.com.cn (219.135.96.90)  7.628 ms 113.96.4.205 (113.96.4.205)  12.718 ms7  121.14.67.146 (121.14.67.146)  7.316 ms 102.96.135.219.broad.fs.gd.dynamic.163data.com.cn (219.135.96.102)  8.512 ms  8.442 ms8  * * 14.215.32.118 (14.215.32.118)  8.077 ms[root@hp1 ~]# tcpdump -i ens192
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens192, link-type EN10MB (Ethernet), capture size 262144 bytes
17:57:10.443395 IP hp1.ssh > sky-20170418ypl.hengxinyongli.com.57374: Flags [P.], seq 1516359829:1516360069, ack 781907098, win 301, length 240
17:57:10.443605 IP hp1.46354 > hp2.inovaport1: Flags [P.], seq 2963436253:2963436489, ack 695770812, win 229, options [nop,nop,TS val 2169683162 ecr 2169683028], length 236
17:57:10.443856 IP sky-20170418ypl.hengxinyongli.com.57374 > hp1.ssh: Flags [.], ack 240, win 16300, length 0
17:57:10.443941 IP hp2.inovaport1 > hp1.46354: Flags [P.], seq 1:60, ack 236, win 1432, options [nop,nop,TS val 2169683229 ecr 2169683162], length 59
17:57:10.443968 IP hp1.46354 > hp2.inovaport1: Flags [.], ack 60, win 229, options [nop,nop,TS val 2169683163 ecr 2169683229], length 0
17:57:10.444600 IP hp1.49461 > iz94vvoeumtz.hengxinyongli.com.domain: 47748+ PTR? 157.1.30.172.in-addr.arpa. (43)
17:57:10.450673 IP iz94vvoeumtz.hengxinyongli.com.domain > hp1.49461: 47748* 1/0/0 PTR sky-20170418ypl.hengxinyongli.com. (90)
17:57:10.451120 IP hp1.33670 > iz94vvoeumtz.hengxinyongli.com.domain: 6254+ PTR? 2.0.18.172.in-addr.arpa. (41)
17:57:10.451230 IP hp1.ssh > sky-20170418ypl.hengxinyongli.com.57374: Flags [P.], seq 240:1040, ack 1, win 301, length 800
17:57:10.461234 IP iz94vvoeumtz.hengxinyongli.com.domain > hp1.33670: 6254* 1/0/0 PTR iz94vvoeumtz.hengxinyongli.com. (85)
17:57:10.461728 IP hp1.ssh > sky-20170418ypl.hengxinyongli.com.57374: Flags [P.], seq 1040:1728, ack 1, win 301, length 688
17:57:10.461885 IP hp1.ssh > sky-20170418ypl.hengxinyongli.com.57374: Flags [P.], seq 1728:1936, ack 1, win 301, length 208
17:57:10.462002 IP hp1.ssh > sky-20170418ypl.hengxinyongli.com.57374: Flags [P.], seq 1936:2144, ack 1, win 301, length 208
17:57:10.462050 IP sky-20170418ypl.hengxinyongli.com.57374 > hp1.ssh: Flags [.], ack 1728, win 16560, length 0
-- snip --

4.6 查看是否丢包

MTR是Linux平台上一款非常好用的网络诊断工具,或者说网络连通性判断工具,集成了ping,traceroute,nslookup的功能,用于诊断网络状态很好用,可以用来判断服务器是否丢包。

代码:

 mtr -n --report www.baidu.com

测试记录:

[root@hp1 ~]# mtr -n --report www.baidu.com
Start: Fri May  7 18:00:20 2021
HOST: hp1                         Loss%   Snt   Last   Avg  Best  Wrst StDev1.|-- 172.30.210.254             0.0%    10    0.4   0.4   0.3   0.4   0.02.|-- 100.64.0.1                 0.0%    10    2.0   2.5   1.9   2.8   0.03.|-- 59.37.187.25               0.0%    10   19.9  16.2   6.2  24.9   5.84.|-- 113.106.34.249             0.0%    10    5.4   6.0   5.0   8.4   0.75.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.06.|-- 113.96.4.209               0.0%    10   12.2   9.6   6.3  12.7   2.47.|-- 219.135.96.102            30.0%    10    7.4  16.6   7.3  66.5  22.18.|-- 14.29.121.198              0.0%    10    7.1   7.3   7.1   7.7   0.09.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.010.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.011.|-- 14.215.177.39              0.0%    10    7.2   7.2   6.6   7.5   0.0
[root@hp1 ~]#

其中loss%为丢包率

五. 常用的监控工具

5.1 全能的监控工具dstat

一个命令可以看到CPU、内存以及网络的使用情况。

yum安装:

yum install -y dstat

dstat 5 10 表示每5秒显示一次,一共显示10条。

测试记录:

[root@hp1 src]# dstat
You did not select any stats, using -cdngy by default.
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 3   1  96   0   0   0|  51k  282k|   0     0 |   0     0 |1790  2815 5   1  95   0   0   0|   0     0 |  40k   17k|   0     0 |1963  2810 2   1  98   0   0   0|   0     0 |  32k   13k|   0     0 |1662  2541 1   1  98   0   0   0|   0   113k|9128B   12k|   0     0 |1632  2648 1   1  98   0   0   0|   0    20k|  13k   14k|   0     0 |1804  2761 1   1  98   0   0   0|   0     0 |9806B   13k|   0     0 |1643  2596 4   1  96   0   0   0|   0     0 |9067B   12k|   0     0 |2038  3184 1   1  98   0   0   0|   0     0 |  11k   13k|   0     0 |1786  2718

cpu:hiq、siq分别为硬中断和软中断次数。
system:int、csw分别为系统的中断次数(interrupt)和上下文切换(context switch)。
其它的都比较好理解。

常用选项:
-c:显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息。
-C:当有多个CPU时候,此参数可按需分别显示cpu状态,例:-C 0,1 是显示cpu0和cpu1的信息。
-d:显示磁盘读写数据大小。
-D hda,total:include hda and total。
-n:显示网络状态。
-N eth1,total:有多块网卡时,指定要显示的网卡。
-l:显示系统负载情况。
-m:显示内存使用情况。
-g:显示页面使用情况。
-p:显示进程状态。
-s:显示交换分区使用情况。
-S:类似D/N。
-r:I/O请求情况。
-y:系统状态。
–ipc:显示ipc消息队列,信号等信息。
–socket:用来显示tcp udp端口状态。
-a:此为默认选项,等同于-cdngy。
-v:等同于 -pmgdsc -D total。
–output 文件:此选项也比较有用,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看。

5.2 top命令

top命令可以查看CPU、内存及交换空间的使用情况

[root@mydb ~]# top
top - 13:56:35 up 1012 days,  2:52,  2 users,  load average: 0.44, 0.74, 0.78
Tasks: 662 total,   1 running, 660 sleeping,   0 stopped,   1 zombie
Cpu(s):  7.9%us,  1.4%sy,  0.0%ni, 86.9%id,  3.7%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  33013360k total, 32320120k used,   693240k free,     8360k buffers
Swap: 16777212k total,  2047684k used, 14729528k free, 26327424k cachedPID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
21508 oracle    20   0 18.1g 329m 313m S  5.8  1.0   6549:46 oracle
22979 oracle    20   0 18.0g 345m 342m S  3.9  1.1   0:03.94 oracle
28118 root      20   0 17464 1688  896 R  3.9  0.0   0:00.02 top                                                                                                                                          4150 oracle    20   0  607m  34m 3260 S  1.9  0.1   5422:14 extract
16032 oracle    20   0  522m  34m 3000 S  1.9  0.1 451:50.61 replicat
20408 oracle    20   0 5783m 558m 1620 S  1.9  1.7   1064:12 java
21529 oracle    20   0 18.0g 1.1g 1.1g S  1.9  3.4   2042:26 oracle
22704 oracle    20   0  473m 8300 1724 S  1.9  0.0 106:03.15 server                                                                                                                                       1 root      20   0 21400  372  176 S  0.0  0.0  30:04.17 init                                                                                                                                         2 root      20   0     0    0    0 S  0.0  0.0   0:02.35 kthreadd                                                                                                                                     3 root      RT   0     0    0    0 S  0.0  0.0  16:36.78 migration/0

下面我们来解释下top命令的输出:
第一行:系统运行时间和平均负载
当前时间、系统已运行时间、当前登录用户的数量、最近1、5、15分钟内的平均负载

load average: 即任务队列的平均长度,如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行:任务
任务的总数、运行中(running)的任务、休眠(sleeping)中的任务、停止(stopped)的任务、僵尸状态(zombie)的任务

第三行:cpu状态

字段 字段释义
us user: 运行(未调整优先级的) 用户进程的CPU时间
sy system: 运行内核进程的CPU时间
ni niced:运行已调整优先级的用户进程的CPU时间
id idle:空闲时间
wa IO wait: 用于等待IO完成的CPU时间
hi 处理硬件中断的CPU时间
si 处理软件中断的CPU时间
st 这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)

第四行:内存
全部可用内存、已使用内存、空闲内存、缓冲内存

第五行:swap
全部、已使用、空闲和缓冲交换空间

第七行至N行:各进程任务的的状态监控

字段 字段释义
PID 进程ID,进程的唯一标识符
USER 进程所有者的实际用户名
PR 进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。
NI 进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级
VIRT virtual memory usage 虚拟内存,进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb VIRT=SWAP+RES
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量
RES resident memory usage 常驻内存,驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
SHR SHR:shared memory 共享内存
1、除了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out后,它将会降下来
S 这个是进程的状态。它有以下不同的值:
D - 不可中断的睡眠态。
R – 运行态
S – 睡眠态
T – 被跟踪或已停止
Z – 僵尸态
%CPU 自从上一次更新时到现在任务所使用的CPU时间百分比。%CPU显示的是进程占用一个核的百分比,而不是整个cpu(N核)的百分比,有时候可能大于100,那是因为该进程启用了多线程占用了多个核心,所以有时候我们看该值得时候会超过100%,但不会超过总核数*100
%MEM 进程使用的可用物理内存百分比
TIME+ 任务启动后到现在所使用的全部CPU时间,精确到百分之一秒
2:32.45代表多长时间啊
从右到左分别是百分之一秒,十分之一秒,秒,十秒,分钟
这个就是2分钟,30秒,2秒,十分之4秒,百分之5秒,是按位来计算的。
COMMAND 运行进程所使用的命令。进程名称(命令名/命令行)

5.3 sar命令

yum安装sar命令:

yum install -y sysstat

sar命令常用格式:

sar [options] [-A] [-o file] t [n]

t为采样间隔,n为采样次数,默认值是1;
-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。
options 为命令行选项,sar命令常用选项如下:

选项 解释
-A 所有报告的总和
-u 输出CPU使用情况的统计信息
-v 输出inode、文件和其他内核表的统计信息
-d 输出每一个块设备的活动信息
-r 输出内存和交换空间的统计信息
-b 显示I/O和传送速率的统计信息
-a 文件读写情况
-c 输出进程统计信息,每秒创建的进程数
-R 输出内存页面的统计信息
-y 终端设备活动情况
-w 输出系统交换活动信息

5.3.1 CPU资源监控

例如,每10秒采样一次,连续采样3次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件test中,需键入如下命令:

sar -u -o test 10 3

测试记录:

[root@hp1 src]# sar -u -o test 10 3
Linux 3.10.0-1127.el7.x86_64 (hp1)      2021年05月08日  _x86_64_        (4 CPU)10时44分49秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
10时44分59秒     all      1.86      0.00      0.81      0.00      0.00     97.33
10时45分09秒     all      2.69      0.00      1.06      0.00      0.00     96.25
10时45分19秒     all      1.74      0.00      0.63      0.03      0.00     97.61
平均时间:     all

输出项说明:

输出项 解释
CPU all 表示统计信息为所有 CPU 的平均值。
%user 显示在用户级别(application)运行使用 CPU 总时间的百分比。
%nice 显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比
%system 在核心级别(kernel)运行所使用 CPU 总时间的百分比
%iowait 显示用于等待I/O操作占用 CPU 总时间的百分比
%steal 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比
%idle 显示 CPU 空闲时间占用 CPU 总时间的百分比
  1. 若 %iowait 的值过高,表示硬盘存在I/O瓶颈
  2. 若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量
  3. 若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU 。

如果要查看二进制文件test中的内容,需键入如下sar命令:

sar -u -f test

测试记录:

[root@hp1 src]# sar -u -f test
Linux 3.10.0-1127.el7.x86_64 (hp1)      2021年05月08日  _x86_64_        (4 CPU)10时44分49秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
10时44分59秒     all      1.86      0.00      0.81      0.00      0.00     97.33
10时45分09秒     all      2.69      0.00      1.06      0.00      0.00     96.25
10时45分19秒     all      1.74      0.00      0.63      0.03      0.00     97.61
平均时间:     all      2.10      0.00      0.83      0.01      0.00     97.06
[root@hp1 src]#

5.3.2 内存和交换空间监控

每10秒采样一次,连续采样3次,监控内存分页:

sar -r 10 3

测试记录:

[root@hp1 src]# sar -r 10 3
Linux 3.10.0-1127.el7.x86_64 (hp1)      2021年05月08日  _x86_64_        (4 CPU)10时52分43秒 kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
10时52分53秒    215420  16051168     98.68         0   2051168  21118556     86.11  12837024   2530152      1004
10时53分03秒    212112  16054476     98.70         0   2054264  21118556     86.11  12837040   2533224      3264
10时53分13秒    211984  16054604     98.70         0   2054304  21118556     86.11  12837024   2533264      2692
平均时间:    213172  16053416     98.69         0   2053245  21118556     86.11  12837029   2532213      2320
[root@hp1 src]#

输出项说明:

输出项 解释
kbmemfree 这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.
kbmemused 这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.
%memused 这个值是kbmemused和内存总量(不包括swap)的一个百分比.
kbbuffers和kbcached 这两个值就是free命令中的buffer和cache
kbcommit 保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap)
%commit 这个值是kbcommit与内存总量(包括swap)的一个百分比.

5.3.3 I/O和传送速率监控

每10秒采样一次,连续采样3次,报告缓冲区的使用情况,需键入如下命令:

sar -b 10 3

测试记录:

[root@hp1 src]# sar -b 10 3
Linux 3.10.0-1127.el7.x86_64 (hp1)      2021年05月08日  _x86_64_        (4 CPU)10时56分27秒       tps      rtps      wtps   bread/s   bwrtn/s
10时56分37秒      2.40      0.00      2.40      0.00     43.30
10时56分47秒      7.80      0.00      7.80      0.00    143.40
10时56分57秒      4.70      0.00      4.70      0.00    139.30
平均时间:      4.97      0.00      4.97      0.00    108.67
[root@hp1 src]#

输出项说明:

输出项 解释
tps 每秒钟物理设备的 I/O 传输总量
rtps 每秒钟从物理设备读入的数据总量
wtps 每秒钟向物理设备写入的数据总量
bread/s 每秒钟从物理设备读入的数据量,单位为 块/s
bwrtn/s 每秒钟向物理设备写入的数据量,单位为 块/s

5.3.4 各磁盘的使用率监控

命令:

-- 参数-p可以打印出sda,hdc等磁盘设备名称,如果不用参数-p,设备节点则有可能是dev8-0,dev22-0
sar -d 10 3 -p

测试记录:

[root@hp1 src]# sar -d 10 3 -p
Linux 3.10.0-1127.el7.x86_64 (hp1)      2021年05月08日  _x86_64_        (4 CPU)11时01分14秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
11时01分24秒       sda      8.50      0.00    161.90     19.05      0.01      0.67      0.11      0.09
11时01分24秒       sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11时01分24秒 centos_10--31--1--123-root      8.60      0.00    151.40     17.60      0.01      0.70      0.10      0.09
11时01分24秒 centos_10--31--1--123-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11时01分24秒 centos_10--31--1--123-home      0.50      0.00     10.50     21.00      0.00      0.00      0.00      0.0011时01分24秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
11时01分34秒       sda      4.20      0.00    248.70     59.21      0.00      0.07      0.07      0.03
11时01分34秒       sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11时01分34秒 centos_10--31--1--123-root      4.20      0.00    248.70     59.21      0.00      0.05      0.05      0.02
11时01分34秒 centos_10--31--1--123-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11时01分34秒 centos_10--31--1--123-home      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0011时01分34秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
11时01分44秒       sda      4.70      0.00     73.40     15.62      0.00      0.13      0.11      0.05
11时01分44秒       sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11时01分44秒 centos_10--31--1--123-root      4.70      0.00     73.40     15.62      0.00      0.13      0.11      0.05
11时01分44秒 centos_10--31--1--123-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11时01分44秒 centos_10--31--1--123-home      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00平均时间:       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
平均时间:       sda      5.80      0.00    161.33     27.82      0.00      0.38      0.10      0.06
平均时间:       sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均时间: centos_10--31--1--123-root      5.83      0.00    157.83     27.06      0.00      0.39      0.09      0.05
平均时间: centos_10--31--1--123-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均时间: centos_10--31--1--123-home      0.17      0.00      3.50     21.00      0.00      0.00      0.00      0.00
[root@hp1 src]#

输出项说明:

输出项 解释
tps 每秒从物理磁盘I/O的次数.多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的.
rd_sec/s 每秒读扇区的次数.
wr_sec/s 每秒写扇区的次数.
avgrq-sz 平均每次设备I/O操作的数据大小(扇区).
avgqu-sz 磁盘请求队列的平均长度.
await 从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒).
svctm 系统处理每次请求的平均时间,不包括在请求队列中消耗的时间.
%util I/O请求占CPU的百分比,比率越大,说明越饱和.
  1. avgqu-sz 的值较低时,设备的利用率较高。
  2. %util项的值也是衡量磁盘I/O的一个重要指标,如果%util接近100%,表示磁盘产生的I/O请求太多,I/O系统已经满负荷的在工作,该磁盘可能存在瓶颈。长期下去,势必影响系统的性能,可以通过优化程序或者通过更换更高、更快的磁盘来解决此问题。

5.3.5 sar查看网卡流量

-n参数很有用,他有6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套 接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。我们现在要用的就是-n DEV了。

命令:

sar -n DEV 1 4

测试记录:

[root@hp1 src]# sar -n DEV 1 4
Linux 3.10.0-1127.el7.x86_64 (hp1)      2021年05月08日  _x86_64_        (4 CPU)11时35分14秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
11时35分15秒    ens192     65.00     73.00      6.79     12.41      0.00      0.00      0.00
11时35分15秒        lo     37.00     37.00      7.38      7.38      0.00      0.00      0.0011时35分15秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
11时35分16秒    ens192     68.00     77.00      6.94     12.90      0.00      0.00      0.00
11时35分16秒        lo     30.00     30.00      4.58      4.58      0.00      0.00      0.0011时35分16秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
11时35分17秒    ens192     62.00     73.00      5.92     12.46      0.00      0.00      0.00
11时35分17秒        lo     21.00     21.00      3.50      3.50      0.00      0.00      0.0011时35分17秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
11时35分18秒    ens192     73.00     80.00      8.52     13.74      0.00      0.00      0.00
11时35分18秒        lo     77.00     77.00    190.75    190.75      0.00      0.00      0.00平均时间:     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
平均时间:    ens192     67.00     75.75      7.04     12.88      0.00      0.00      0.00
平均时间:        lo     41.25     41.25     51.55     51.55      0.00      0.00      0.00

输出项说明:

输出项 解释
IFACE LAN接口
rxpck/s 每秒钟接收的数据包
txpck/s 每秒钟发送的数据包
rxbyt/s 每秒钟接收的字节数
txbyt/s 每秒钟发送的字节数
rxcmp/s 每秒钟接收的压缩数据包
txcmp/s 每秒钟发送的压缩数据包
rxmcst/s 每秒钟接收的多播数据包
输出项 解释
IFACE LAN接口
rxerr/s 每秒钟接收的坏数据包
txerr/s 每秒钟发送的坏数据包
coll/s 每秒冲突数
rxdrop/s 因为缓冲充满,每秒钟丢弃的已接收数据包数
txdrop/s 因为缓冲充满,每秒钟丢弃的已发送数据包数
txcarr/s 发送数据包时,每秒载波错误数
rxfram/s 每秒接收数据包的帧对齐错误数
rxfifo/s 接收的数据包每秒FIFO过速的错误数
txfifo/s 发送的数据包每秒FIFO过速的错误数

5.3.6 sar命令小结

要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来
怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看
怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看
怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看

5.4 iostat命令

iostat方便查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息。

安装:

 yum -y install sysstat

命令格式:

iostat[参数][时间][次数]

命令参数:
-C 显示CPU使用情况
-d 显示磁盘使用情况
-k 以 KB 为单位显示
-m 以 M 为单位显示
-N 显示磁盘阵列(LVM) 信息
-n 显示NFS 使用情况
-p[磁盘] 显示磁盘和分区的情况
-t 显示终端和CPU的信息
-x 显示详细信息
-V 显示版本信息

5.4.1 显示所有设备的负载

命令:

iostat

测试记录:

[root@hp1 ~]# iostat
Linux 3.10.0-1127.el7.x86_64 (hp1)      2021年05月08日  _x86_64_        (4 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle2.68    0.00    0.87    0.00    0.00   96.45Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               6.85        49.24       281.53  110499269  631773267
scd0              0.00         0.00         0.00       4232          0
dm-0              6.89         5.73       278.32   12859625  624556629
dm-1              0.00         0.00         0.00       5312          0
dm-2              0.21        43.49         3.21   97599788    7214199

cpu属性值说明:
%user:CPU处在用户模式下的时间百分比。
%nice:CPU处在带NICE值的用户模式下的时间百分比。
%system:CPU处在系统模式下的时间百分比。
%iowait:CPU等待输入输出完成时间的百分比。
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
%idle:CPU空闲时间百分比。

备注:如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。

tps:该设备每秒的传输次数
kB_read/s:每秒从设备(drive expressed)读取的数据量;
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
kB_read: 读取的总数据量;
kB_wrtn:写入的总数量数据量;

5.4.2 查看单个磁盘的统计信息

命令:

iostat -p sda

测试记录:

[root@hp1 ~]# iostat -p sda
Linux 3.10.0-1127.el7.x86_64 (hp1)      2021年05月08日  _x86_64_        (4 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle2.68    0.00    0.87    0.00    0.00   96.45Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               6.85        49.22       281.55  110499737  632044038
sda1              0.00         0.01         0.00      29980       2438
sda2              6.85        49.21       281.55  110467817  632041600

5.4.3 查看逻辑卷的统计信息

命令:

iostat -N

测试记录:

[root@hp1 ~]# iostat -N
Linux 3.10.0-1127.el7.x86_64 (hp1)      2021年05月08日  _x86_64_        (4 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle2.68    0.00    0.87    0.00    0.00   96.45Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               6.85        49.22       281.55  110499737  632057684
scd0              0.00         0.00         0.00       4232          0
centos_10--31--1--123-root     6.89         5.73       278.33   12860093  624840738
centos_10--31--1--123-swap     0.00         0.00         0.00       5312          0
centos_10--31--1--123-home     0.21        43.48         3.21   97599788    7214508

5.5 vmstat命令

vmstat 查看 内存,进程和分页等的简要信息

安装:

 yum -y install sysstat

在5秒内进行5次采样:

vmstat 5  5

测试记录:

[root@hp1 ~]# vmstat 5 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st1  0      0 168900      0 2360832    0    0    12    71    3    1  3  1 96  0  00  0      0 167948      0 2361904    0    0     0     2 1824 2759  3  1 96  0  00  0      0 167824      0 2361916    0    0     0    33 1555 2523  1  1 98  0  01  0      0 167544      0 2361976    0    0     0    16 2814 4564  6  2 93  0  00  0      0 167684      0 2361992    0    0     0   118 1695 2678  2  1 97  0  0

字段说明:

  1. Procs(进程)
    r: 运行队列中进程数量
    b: 等待IO的进程数量

  2. Memory(内存)
    swpd: 使用虚拟内存大小
    free: 可用内存大小
    buff: 用作缓冲的内存大小
    cache: 用作缓存的内存大小

  3. Swap
    si: 每秒从交换区写到内存的大小
    so: 每秒写入交换区的内存大小

  4. IO:(现在的Linux版本块的大小为1024bytes)
    bi: 每秒读取的块数
    bo: 每秒写入的块数

  5. 系统
    in: 每秒中断数,包括时钟中断。【interrupt】
    cs: 每秒上下文切换数。 【count/second】

  6. CPU(以百分比表示)
    us: 用户进程执行时间(user time)
    sy: 系统进程执行时间(system time)
    id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。
    wa: 等待IO时间

备注:
如果r经常大于4,id经常少于40,表示cpu的负荷很重。
如果bi,bo长期不等于0,表示内存不足。
如果disk经常不等于0,且在b中的队列大于3,表示io性能不好。
Linux在具有高稳定性、可靠性的同时,具有很好的可伸缩性和扩展性,能够针对不同的应用和硬件环境调整,优化出满足当前应用需要的最佳性能。因此企业在维护Linux系统、进行系统调优时,了解系统性能分析工具是至关重要的。

参考:

  1. https://www.cnblogs.com/xubiao/p/6497533.html
  2. https://www.linuxprobe.com/shell-check-network-interface.html
  3. https://jingyan.baidu.com/article/0eb457e56bbcf042f0a9053d.html
  4. https://www.cnblogs.com/fuqu/p/10230385.html
  5. https://www.cnblogs.com/chris-cp/p/3674768.html
  6. https://www.cnblogs.com/peida/archive/2012/12/28/2837345.html
  7. https://www.cnblogs.com/ftl1012/p/vmstat.html

MySQL优化系列3-Linux查看CPU、内存、磁盘、网络信息相关推荐

  1. linux系统CPU,内存,磁盘,网络流量监控脚本

    前序 1, #cat /proc/stat/  信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2, #vmstat –s   或者 #vmstat    虚拟内存统 ...

  2. linux监控cpu内存磁盘网络使用率,linux服务器性能——CPU、内存、流量、磁盘使用率的监控...

    4. 什么是AJAX 术语Ajax用来描述一组技术,它使浏览器可以为用户提供更为自然的浏览体验.在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的"思考 ...

  3. 如何查看linux网络io,linux 查看CPU内存 网络 流量 磁盘 IO

    使用vmstat命令来察看系统资源情况 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? Q: 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? A: 在命 ...

  4. Linux 查看CPU 内存 IO使用率,linux 查看CPU内存 网络 流量 磁盘 IO

    使用vmstat命令来察看系统资源情况 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? Q: 在命令行方式下,如何查看CPU.内存的使用情况,网络流量和磁盘I/O? A: 在命 ...

  5. linux查看cpu 内存

    Linux查看物理CPU个数.核数.逻辑CPU个数 # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理 ...

  6. linux查看网卡连接哪个cpu,Linux查看CPU/内存/网卡/操作系统信息

    测试机器的硬件信息: 查看CPU信息(型号) # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon(R) CP ...

  7. kvm性能优化方案---cpu/内存/磁盘/网络

    kvm性能优化方案 kvm性能优化,主要集中在cpu.内存.磁盘.网络,4个方面,当然对于这里面的优化,也是要分场景的,不同的场景其优化方向也是不同的,下面具体聊聊这4个方面的优化细节. cpu 在介 ...

  8. linux 查看cpu和磁盘使用情况

    http://www.51testing.com/?uid-139579-action-viewspace-itemid-142106 http://www.51testing.com/?uid-13 ...

  9. AIX和LINUX主机 CPU 内存 磁盘使用率监控

    AIX监控 磁盘使用率监控 df -g|grep -v Filesystem|grep -v proc|awk ' gsub(/%/,"",$4) {print $7 " ...

  10. IBM 小型机查看CPU内存电源风扇信息(更换部件)

    lscfg -vp |grep -i -p dimm 查看内存的详细信息 lscfg -vp |grep -p PROC 查看CPU的详细信息 lscfg -vp |grep -p -i 'A IBM ...

最新文章

  1. Web API With AJAX: Handle Session in Web API
  2. 将HTMLCollection转换为数组的最有效方法
  3. 喜大普奔!BFE 控制平面正式开源发布!
  4. php join a.id b.id,mysql,sql_MySQL A left join B on B.cid=A.id 左链接查询失败,求解,mysql,sql - phpStudy...
  5. keil 在项目栏总有个叉_老股民的热心分享:均线金叉死叉买卖定式”,散户值得一看!...
  6. Glib 对 C 函数进行单元测试
  7. Android中使用软引用和弱引用避免OOM的方法
  8. 集群、分布式、微服务的概念及异同
  9. 为什么redis取出来是null_[2020] Redis 最新面试题
  10. 神策分析 Android SDK 网络模块解析 | 数据采集
  11. calibre怎么把HTML转换mobi,calibre:mobi格式转换成pdf格式 | 求索阁
  12. Bzoj1001 [BeiJing2006]狼抓兔子
  13. 使用python、java语言批量下载抖音中我的视频、我喜欢的视频,解析抖音视频,批量下载抖音...
  14. 同一操作系统中安装多个不同版本谷歌Chrome浏览器
  15. (微信定时发送消息)一个java文件,完成可配置的微信定时发送消息任务
  16. 前端 地图增加边框线_基于百度地图开发——在地图上框出市、区的边界线
  17. 微信公众号注册免费教程
  18. 将机械硬盘换成固态硬盘的装机过程
  19. 怎么设置微信公众号自动回复蓝色字体,点击蓝色字体自动发送出去
  20. Java 独门绝技 用Java玩谷歌小恐龙游戏 (有源码)

热门文章

  1. PHP遍历文件夹下的所有子文件夹及文件
  2. 数据库索引,真的越建越好吗?
  3. 会python_会Python了不起吗?是的,简直开挂!
  4. 利用setenv进行tomcat 内存设置
  5. ChatGPT突遭大面积封号!网友应急出解封教程
  6. js 读取图片路径并预览图片
  7. 为echarts的叠加柱状图设置颜色
  8. Electron 去掉标题栏并设定可拖动
  9. SN74HC165驱动
  10. MYSQL之错误代码----mysql错误代码与JAVA实现