【总结】Linux之性能监控概述—是你要的吗?
Linux之性能监控
前言:
Hello,各位码友。一个周末没见,你有没有继续联系Linux呢?今天是周一,我也要继续营业啦,希望这个星期又是一个收获的星期,也希望这些文章有所帮助,愿能一起交流学习,共同进步。
最近因为接触的东西有点多,思绪比较乱。倘若带来不便,请多多包涵,感谢理解。
性能监控
监控CPU使用情况—uptime命令
该命令的描述为:打印当前时间,系统已经运行了多久,当前登录用户数以及系统平均负载。
[[email protected] /]# uptime
08:44:23 up 25 min, 2 users, load average: 0.11, 0.04, 0.06
从上面的信息可以看出,当前系统时间为早上8点44分23秒,系统已经运行了2天,当前有2个用户在登录,CPU负载分别显示的是最近一分钟、五分钟、十五分钟的负载情况。需要说明的是,这里的负载表示单位时间内CPU等待队列中平均有多少进程在等待,等待的进程个数越多,CPU越忙。
监控内存及交换分区使用情况—free命令
该命令的描述为:显示系统内存及交换分区信息。
用法:free [-b|-k|-m]
选项:
-b|-k|-m 指定输出容量的单位,分别为Byte、KB、MB。
[[email protected] /]# free
total used free shared buff/cache available
Mem: 995748 614900 74460 16084 306388 221236
Swap: 2097148 119808 1977340
以上输出信息中心,Mem一行的total代表内存总量为995748 Byte;used代表已经使用的内存容量为614900 Byte,free代表当前的剩余容量为74460 Byte。
第二行为交换分区的使用情况,total代表交换分区总容量为2097148 Byte;used代表已经使用了119808 Byte;free代表剩余交换分区为1977340 Byte。
监控磁盘使用情况—dt命令
描述:生成系统磁盘空间的使用量信息
用法:df[选项]…
选项:
-h 人性化方式显示容量信息
-i 显示磁盘inode使用量信息
-T 显示文件系统类型
[[email protected] /]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 470M 0 470M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 8.7M 478M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17G 4.7G 13G 28% /
/dev/sda1 xfs 1014M 171M 844M 17% /boot
tmpfs tmpfs 98M 4.0K 98M 1% /run/user/42
tmpfs tmpfs 98M 36K 98M 1% /run/user/1000
/dev/sr0 iso9660 4.4G 4.4G 0 100% /run/media/sevlvbingniang/CentOS 7 x86_64
tmpfs tmpfs 98M 0 98M 0% /run/user/0
[[email protected] /]# df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs 120212 395 119817 1% /dev
tmpfs 124468 1 124467 1% /dev/shm
tmpfs 124468 1002 123466 1% /run
tmpfs 124468 16 124452 1% /sys/fs/cgroup
/dev/mapper/centos-root 8910848 130606 8780242 2% /
/dev/sda1 524288 340 523948 1% /boot
tmpfs 124468 6 124462 1% /run/user/42
tmpfs 124468 21 124447 1% /run/user/1000
/dev/sr0 0 0 0 - /run/media/sevlvbingniang/CentOS 7 x86_64
tmpfs 124468 1 124467 1% /run/user/0
因为之前在安装CentOS 7 Linux操作系统时安装的是中文版,再此不多做解释。
监控网络使用情况—ip和netstat命令
ip命令
ip命令可以查看网卡接口信息,在CentOS 7中网卡不再同一命名为ethx,而是会检查主机的硬件网卡信息,根据不同的网卡信息做不同的命令。此外,我们一般使用netstat命令查看服务器开启的端口信息以及网络的连接状态。
[[email protected] /]# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:ab:6d:6b brd ff:ff:ff:ff:ff:ff
inet 192.168.130.130/24 brd 192.168.130.255 scope global noprefixroute dynamic ens33
valid_lft 1788sec preferred_lft 1788sec
inet6 fe80::89ab:234e:816b:1fef/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:7e:87:f8 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:7e:87:f8 brd ff:ff:ff:ff:ff:ff
从以上信息中可以看出,ens33这块网卡的IP地为:192.168130.130,广播地址为:192.168.130.255,子网掩码为24位。
[[email protected] /]# ip -s link show ens33 //查看网卡流量信息
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:ab:6d:6b brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
124894535 86145 0 0 0 0
TX: bytes packets errors dropped carrier collsns
1199928 19159 0 0 0 0
系统开机至现在总共接收了86145个数据包,系统开机至现在共发送了19159个数据包;总共接收了124894535 byte数据,总共发送了1199928 byte数据,错误的包和丢弃的包都是0.
netstat命令
描述:打印网络连接、路由表、网络接口统计等信息。
用法:netstat[选项]
选项:
-s 显示各种协议数据统计信息。
-n 使用数字形式的IP、端口号、用户ID替代主机、协议、用户等名称信息
-p 显示进程名称及对应进程ID号
-l 仅显示正在监听的sockets接口信息
-u 查看udp连接信息
-t 查看tcp连接信息。
[[email protected] /]# netstat -nutlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1194/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1371/master
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 2829/sshd: sevlvbin
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1671/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1200/sshd
tcp6 0 0 ::1:631 :::* LISTEN 1194/cupsd
tcp6 0 0 ::1:25 :::* LISTEN 1371/master
tcp6 0 0 ::1:6010 :::* LISTEN 2829/sshd: sevlvbin
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::22 :::* LISTEN 1200/sshd
udp 0 0 0.0.0.0:894 0.0.0.0:* 727/rpcbind
udp 0 0 192.168.122.1:53 0.0.0.0:* 1671/dnsmasq
udp 0 0 0.0.0.0:67 0.0.0.0:* 1671/dnsmasq
udp 0 0 0.0.0.0:68 0.0.0.0:* 1006/dhclient
udp 0 0 0.0.0.0:111 0.0.0.0:* 1/systemd
udp 0 0 0.0.0.0:5353 0.0.0.0:* 724/avahi-daemon: r
udp 0 0 0.0.0.0:57654 0.0.0.0:* 724/avahi-daemon: r
udp6 0 0 :::894 :::* 727/rpcbind
udp6 0 0 :::111 :::* 1/systemd
[[email protected] /]# netstat -s
Ip:
23532 total packets received
0 forwarded
0 incoming packets discarded
22836 incoming packets delivered
19069 requests sent out
Icmp:
12 ICMP messages received
0 input ICMP message failed.
ICMP input histogram:
destination unreachable: 12
12 ICMP messages sent
0 ICMP messages failed
ICMP output histogram:
destination unreachable: 12
IcmpMsg:
InType3: 12
OutType3: 12
Tcp:
11 active connections openings
2 passive connection openings
0 failed connection attempts
4 connection resets received
1 connections established
22775 segments received
18937 segments send out
0 segments retransmited
0 bad segments received.
6 resets sent
Udp:
37 packets received
12 packets to unknown port received.
0 packet receive errors
117 packets sent
0 receive buffer errors
0 send buffer errors
UdpLite:
TcpExt:
2 TCP sockets finished time wait in fast timer
708 delayed acks sent
Quick ack mode was activated 11 times
2 packets directly queued to recvmsg prequeue.
15830 packet headers predicted
161 acknowledgments not containing data payload received
514 predicted acknowledgments
3 connections reset due to early user close
TCPRcvCoalesce: 5730
TCPOrigDataSent: 716
IpExt:
InNoRoutes: 1
InMcastPkts: 472
OutMcastPkts: 58
InBcastPkts: 223
InOctets: 121183868
OutOctets: 823759
InMcastOctets: 33049
OutMcastOctets: 7235
InBcastOctets: 19357
InNoECTPkts: 84955
监控进程使用情况—ps和top命令
ps命令
描述:查看当前进程信息
用法:ps命令版本众多,有很多的语法种类,如UNIX、BSD以及GUN Linux
标准的语法格式:
[[email protected] /]# ps -e #查看所有的进程信息
[[email protected] /]# ps -ef #全格式显示进程信息
BDS语法格式:
[[email protected] /]# ps -ax
[[email protected] /]# ps -axu
命令的输出信息中,UID或者USER代表进程的执行用户,PID为进程的唯一编号,PPID代表父进程ID编号,%CPU代表进程的CPU占有率,%MEM代表进程的内存占有率,VSZ代表基础讷航所使用的虚拟内存的大小(单位为KB),RSS代表进程所使用的真实内存大小(单位为KB),TTY为终端,STIME或START代表进程启动时间,STAT代表进程状态(D:不可终断进程,R:正在运行的进程,S:正在睡眠的进程,T:停止或被追踪的进程,X:死亡的进程,Z,僵死的进程),TIME代表进程占有CPU的总时间,CMD或COMMAND代表进程命令。
top命令
描述:动态查看进程信息
选项:
-d top刷新健哥,默认为3秒。
-p 查看指定PID的进程信息
[[email protected] /]# top
top - 10:44:53 up 2:26, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 212 total, 2 running, 210 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 995748 total, 65148 free, 671368 used, 259232 buff/cache
KiB Swap: 2097148 total, 1978364 free, 118784 used. 153916 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 128364 4404 2464 S 0.0 0.4 0:02.16 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.88 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:00.67 rcu_sched
10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain
11 root rt 0 0 0 0 S 0.0 0.0 0:00.04 watchdog/0
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
14 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khungtaskd
16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback
17 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd
18 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset
19 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset
20 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset
通过top命令可以动态查看进程信息,默认按照CPU使用率排序,输入M可以按照内存使用率排序,输入N可以按照进程号排序,输入z可以高亮显示颜色。
[[email protected] /]# top -d 1 -p 1,2
top - 10:51:58 up 2:33, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 2 total, 0 running, 2 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 995748 total, 65404 free, 671084 used, 259260 buff/cache
KiB Swap: 2097148 total, 1978364 free, 118784 used. 154192 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 128364 4404 2464 S 0.0 0.4 0:02.17 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
本次更新就到这里,你学废了吗?
喜欢的话点个一键三连支持一下呗,感激不尽!!!
希望有所帮助。
上一篇: yocto添加登录用户和密码
下一篇: 第三章测试