欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【总结】Linux之性能监控概述—是你要的吗?

程序员文章站 2022-07-15 11:00:47
...

前言:

​ 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      

本次更新就到这里,你学废了吗?


喜欢的话点个一键三连支持一下呗,感激不尽!!!

希望有所帮助。

相关标签: Linux之路 linux