性能统计工具
- 一、io监控命令
- 1、io监控命令iostat
- 2、io指标监控命令df
- 二、cpu监控命令
- 1、cpu指标监控命令uptime
- 2、cpu指标监控命令 cat /proc/cpuinfo
- 3、cpu 指标监控命令 mpstat
- 4、cpu指标监控命令 sar
- 三、mem指标监控命令
- 1、mem指标监控命令 cat /proc/meminfo
- 2、mem指标监控命令vmstat
- 3、mem指标监控命令free
- 四、net指标监控
- 1、net指标监控命令ping
- 2、net指标监控命令ifconfig
- 3、net指标监控命令hostuame
- 4、net指标监控命令netstat
- 五、top命令
- 六、ps命令
一、io监控命令
1、io监控命令iostat
命令描述:监控系统设备的IO负载情况
命令演示:iostat
2、io指标监控命令df
列出文件系统的整体磁盘空间使用情况
命令演示:df -h
[root@mylinux1 promdata]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 13M 3.8G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 17G 14G 3.9G 78% /
/dev/sda1 1014M 150M 865M 15% /boot
overlay 17G 14G 3.9G 78% /var/lib/docker/overlay2/d23ca8a0dc1a70fb4ec233cffee33ecdc6fb1e4dea171788b07cfa3f73470783/merged
overlay 17G 14G 3.9G 78% /var/lib/docker/overlay2/c9c25f7317d376d270d0e2eebf656c0005359e2492c3c2a53792350c7c2c6365/merged
overlay 17G 14G 3.9G 78% /var/lib/docker/overlay2/2135d1934b6c37d203dc419dcedcdcb42420ad85cd8178f344b772aa7aa368cb/merged
overlay 17G 14G 3.9G 78% /var/lib/docker/overlay2/e0addf2d2b897d38dd32f67907d4ad1158edebf2d621f04e8d1bfb2820fcf9cd/merged
overlay 17G 14G 3.9G 78% /var/lib/docker/overlay2/f71ba00ea4e04267768626e02f7e09adc0440f2c4e8c85d0e7b9edfee020985a/merged
overlay 17G 14G 3.9G 78% /var/lib/docker/overlay2/f9c05fc88e4bc1446f6b3d6bba2a1df3781417c98209138b450eee2c0b2cfe15/merged
overlay 17G 14G 3.9G 78% /var/lib/docker/overlay2/e3a0616c1a1bf0dc772f8e10886067ed51282cbf5190021a2aadd0b3a70a3471/merged
overlay 17G 14G 3.9G 78% /var/lib/docker/overlay2/0d42b946bd296c30980fbacec46b00260130bc688b44c49bfe79ec60321fb591/merged
tmpfs 781M 0 781M 0% /run/user/0
二、cpu监控命令
1、cpu指标监控命令uptime
命令描述:用于显示系统总共运行了多长时间和系统的平均负载
命令演示:uptime
[root@mylinux1 promdata]# uptime
22:16:47 up 1 day, 18:23, 6 users, load average: 0.77, 0.50, 0.47
2、cpu指标监控命令 cat /proc/cpuinfo
命令描述:查看CPU的配置信息
命令演示:cat /proc/cpuinfo
4核CPU
[root@mylinux1 ~]# cat /proc/cpuinfo | grep processor
processor : 0
processor : 1
processor : 2
processor : 3
3、cpu 指标监控命令 mpstat
命令描述:是一款常用的多核CPU性能分析工具,用来实时查询每个CPU的性能指标,以及所有CPU的平均指标
命令演示:mpstat
[root@mylinux1 ~]# mpstat
Linux 3.10.0-1160.el7.x86_64 (mylinux1) 2023年05月20日 _x86_64_ (4 CPU)
22时26分34秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
22时26分34秒 all 0.24 0.00 0.82 0.00 0.00 0.05 0.00 0.00 0.00 98.89
usr:运行pthon程序cpu所占用的时间
sys:系统linux中程序所占用cpu的时间
iowait :读写磁盘时等待时占用cpu的时间
idle:cpu空闲时间
[root@mylinux1 ~]# mpstat -P ALL
Linux 3.10.0-1160.el7.x86_64 (mylinux1) 2023年05月20日 _x86_64_ (4 CPU)
22时32分01秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
22时32分01秒 all 0.24 0.00 0.83 0.00 0.00 0.05 0.00 0.00 0.00 98.89
22时32分01秒 0 0.27 0.00 0.95 0.00 0.00 0.08 0.00 0.00 0.00 98.69
22时32分01秒 1 0.22 0.00 0.80 0.00 0.00 0.03 0.00 0.00 0.00 98.94
22时32分01秒 2 0.23 0.00 0.79 0.00 0.00 0.04 0.00 0.00 0.00 98.93
22时32分01秒 3 0.23 0.00 0.76 0.00 0.00 0.03 0.00 0.00 0.00 98.97
4、cpu指标监控命令 sar
命令描述:是一个Linux下的监控工具,可以用来监控CPU性能状况
命令演示:sar -u 1 1
[root@mylinux1 ~]# sar -u 1 1
Linux 3.10.0-1160.el7.x86_64 (mylinux1) 2023年05月20日 _x86_64_ (4 CPU)
22时34分23秒 CPU %user %nice %system %iowait %steal %idle
22时34分24秒 all 0.00 0.00 1.01 0.00 0.00 98.99
平均时间: all 0.00 0.00 1.01 0.00 0.00 98.99
三、mem指标监控命令
1、mem指标监控命令 cat /proc/meminfo
命令描述:查看内存相关配置信息
命令演示: cat /proc/meminfo
[root@mylinux1 ~]# cat /proc/meminfo
MemTotal: 7990064 kB
MemFree: 1508740 kB
MemAvailable: 4306660 kB
Buffers: 2108 kB
Cached: 2978044 kB
SwapCached: 0 kB
Active: 4041136 kB
Inactive: 1729500 kB
Active(anon): 2789600 kB
Inactive(anon): 36660 kB
Active(file): 1251536 kB
Inactive(file): 1692840 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 2097148 kB
SwapFree: 2097148 kB
Dirty: 32 kB
Writeback: 0 kB
AnonPages: 2790544 kB
Mapped: 231860 kB
Shmem: 35776 kB
Slab: 297924 kB
SReclaimable: 149772 kB
SUnreclaim: 148152 kB
KernelStack: 13152 kB
PageTables: 17552 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6092180 kB
Committed_AS: 8274500 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 227448 kB
VmallocChunk: 34359277564 kB
Percpu: 76800 kB
HardwareCorrupted: 0 kB
AnonHugePages: 2338816 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 169792 kB
DirectMap2M: 5072896 kB
DirectMap1G: 5242880 kB
2、mem指标监控命令vmstat
命令描述:用来获得有关进程、内存、虚拟内存、页面交换空间及CPU活动的信息
命令演示:vmstat
[root@mylinux1 ~]# vmstat
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 1506492 2108 3129124 0 0 2 5 65 65 0 1 99 0 0
3、mem指标监控命令free
命令描述:显示系统使用和空闲内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存命令
演示:free,free -g
[root@mylinux1 ~]# free
total used free shared buff/cache available
Mem: 7990064 3350752 1504272 35776 3135040 4307288
Swap: 2097148 0 2097148
使用free -g:查看更直观
[root@mylinux1 ~]# free -g
total used free shared buff/cache available
Mem: 7 3 1 0 2 4
Swap: 1 0 1
四、net指标监控
1、net指标监控命令ping
命令描述:向目标系统发送报文,检测网络连通性的工具
命令演示:ping
2、net指标监控命令ifconfig
命令描述:用于获取网卡配置与网络状态等信息
命令演示:ifconfig
3、net指标监控命令hostuame
命令描述:显示本机的hostname,修改本机的hostname
命令演示:hostname
[root@mylinux1 ~]# hostname
mylinux1
[root@mylinux1 ~]# hostname -i
192.168.22.3
4、net指标监控命令netstat
命令描述:用于显示各种网络相关信息,如网络连接,路由表,接口状态等
命令演示:
netstat -an
netstat -at:只展示tcp协议的网络信息
netstat -au:只展示utp协议的网络信息
netstat -p:展示进程号
[root@mylinux1 ~]# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:6004 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:d-s-n 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:hbci 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:postgres 0.0.0.0:* LISTEN
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:websm 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:commplex-main 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:jetdirect 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8848 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:us-srv 0.0.0.0:* LISTEN
tcp 0 0 mylinux1:ssh 192.168.22.1:58035 ESTABLISHED
tcp 0 52 mylinux1:ssh 192.168.22.1:58033 ESTABLISHED
tcp 0 0 mylinux1:36406 hn.kd.ny.adsl:http TIME_WAIT
tcp 0 0 mylinux1:websm 172.17.0.6:54950 ESTABLISHED
tcp 0 0 mylinux1:47502 172.17.0.9:jetdirect ESTABLISHED
tcp 0 0 mylinux1:jetdirect 172.17.0.6:42102 ESTABLISHED
tcp 0 0 mylinux1:ssh 192.168.22.1:58034 ESTABLISHED
tcp 0 0 mylinux1:60096 172.17.0.6:websm ESTABLISHED
tcp6 0 0 [::]:6004 [::]:* LISTEN
tcp6 0 0 [::]:d-s-n [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 [::]:hbci [::]:* LISTEN
tcp6 0 0 [::]:postgres [::]:* LISTEN
tcp6 0 0 localhost:smtp [::]:* LISTEN
tcp6 0 0 [::]:websm [::]:* LISTEN
tcp6 0 0 [::]:commplex-main [::]:* LISTEN
tcp6 0 0 [::]:jetdirect [::]:* LISTEN
tcp6 0 0 [::]:8848 [::]:* LISTEN
tcp6 0 0 [::]:us-srv [::]:* LISTEN
五、top命令
命令描述: 实时的显示系统中各个进程的资源占用情况
统计信息: 前五行是系统的整体统计信息。
进程信息: 统计信息下方类似表格的区域显示的是进程的详细信息,默认5秒刷新一次。
命令演示: top
如果想要排序展示:P(按照cpu排序)、M(按照MEM排序)
六、ps命令
命令描述: ps是命令是 Process Status 的缩写,linux下最常用的进程查看命令;
使用技巧:
可以配合管道命令 | 和查找命令 grep 同时执行来查看特定进程。
可以配合管道命令 | 和文本分析命令 awk 同时执行来定位具体进程参数值
命令演示:
ps
ps -aux:a:当前所有的进程号包括其他用户的进程号;u:当前用户为主;x:显示所有的进程
ps -ef
ps -ef | grep | awk
[root@mylinux1 ~]# ps
PID TTY TIME CMD
111108 pts/0 00:00:00 bash
126372 pts/0 00:00:00 ps
126566 pts/0 00:00:00 bash
RSS:进程所占用的内存大小
START:开始时间
TIME:执行时间
[root@mylinux1 ~]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 128312 6948 ? Ss 5月19 0:03 /usr/lib/systemd/systemd --switched-root --system --deseri
root 2 0.0 0.0 0 0 ? S 5月19 0:00 [kthreadd]
root 4 0.0 0.0 0 0 ? S< 5月19 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S 5月19 1:11 [ksoftirqd/0]
root 7 0.0 0.0 0 0 ? S 5月19 0:09 [migration/0]
root 8 0.0 0.0 0 0 ? S 5月19 0:00 [rcu_bh]
root 9 0.2 0.0 0 0 ? S 5月19 5:21 [rcu_sched]
root 10 0.0 0.0 0 0 ? S< 5月19 0:00 [lru-add-drain]
PPID:父进程
CMD:进程对应的命令
[root@mylinux1 ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 5月19 ? 00:00:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root 2 0 0 5月19 ? 00:00:00 [kthreadd]
root 4 2 0 5月19 ? 00:00:00 [kworker/0:0H]
root 6 2 0 5月19 ? 00:01:11 [ksoftirqd/0]
root 7 2 0 5月19 ? 00:00:09 [migration/0]
root 8 2 0 5月19 ? 00:00:00 [rcu_bh]
root 9 2 0 5月19 ? 00:05:22 [rcu_sched]
root 10 2 0 5月19 ? 00:00:00 [lru-add-drain]
root 11 2 0 5月19 ? 00:00:04 [watchdog/0]
root 12 2 0 5月19 ? 00:00:05 [watchdog/1]
[root@mylinux1 ~]# ps -ef | grep mysqld
polkitd 7423 7402 1 5月19 ? 00:25:53 mysqld
polkitd 7801 7423 0 5月19 ? 00:00:03 [mysqld] <defunct>
root 27147 111108 0 23:38 pts/0 00:00:00 grep --color=auto mysqld
其中:root 27147 111108 0 23:38 pts/0 00:00:00 grep --color=auto mysqld
是由于grep命令出现的进程
采用ps -ef | grep mysqld | grep -v color
过滤掉
[root@mylinux1 ~]# ps -ef | grep mysqld | grep -v color
polkitd 7423 7402 1 5月19 ? 00:25:54 mysqld
polkitd 7801 7423 0 5月19 ? 00:00:03 [mysqld] <defunct>
ps -ef | grep mysqld | grep -v color | awk '{print $2}'
[root@mylinux1 ~]# ps -ef | grep mysqld | grep -v color | awk '{print $2}'
7423
7801