linux监控系统资源命令

本文详细介绍了如何在Linux系统中使用top、vmstat、free、ifconfig和netstat等命令监控CPU使用率、内存状态、磁盘I/O、系统负载以及网络连接,包括不同命令的用法和示例,帮助读者理解和管理系统的性能。
摘要由CSDN通过智能技术生成

当前CPU内核版本

[root@VM-12-12-centos ~]# cat /proc/version
Linux version 3.10.0-1160.11.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Fri Dec 18 16:34:56 UTC 2020

当前系统版本

[root@VM-12-12-centos ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

1.监控系统cup使用率

1.1 top命令

使用top命令进入交互界面 

us(未调优先级用户空间CPU使用时间)+sy(系统空间CPU使用时间)+ni(已调优先级用户空间CPU使用时间)=CPU总使用时间+id(CPU空闲时间)=100

交互界面下按t可切换CPU显示模式,一共有四种模式(一种是上面默认的模式,一种是不展示CPU信息,还有两种是以进度条直观展示CPU使用率)

1.2 vmstat命令 

[root@VM-12-12-centos ~]# 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 1049596  87924  82352 373748    0    0   158    87    2    0  2  1 97  1  0

看CPU下的列

us(未调优先级用户空间CPU使用时间)+sy(系统空间CPU使用时间)=CPU总使用时间+id(CPU空闲时间)=100 

用脚本监控CPU使用率

function GetSysCPU 
 {
   CpuIdle=`vmstat 1 5 |sed -n '3,$p' | awk '{x = x + $15} END {print x/5}' | awk -F. '{print $1}'` 
# vmstat 1 5延迟一秒刷新一次,输出五次,sed -n '3,$p'输出第三行到最后一行,wk '{x = x + $15} END {print x/5}'五次idle加起来输出他的平均值,awk -F. '{print $1}'以.号为分隔符取第一个,相当于向下取整。

   CpuNum=`echo "100-$CpuIdle" | bc` 
   echo $CpuNum 
 }

cpu=`GetSysCPU` 

 echo "The system CPU is $cpu"

 if [ $cpu -gt 80 ] 
 then 
 { 
    echo "The usage of system CPU is larger than 80%"
 } 
 else 
 { 
    echo "The usage of system CPU is normal"
 } 
 fi

2.监控系统内存

2.1 top命令

KiB Mem :  1881852 total,    86764 free,  1354192 used,   440896 buff/cache

物理内存:总量,        可用量,        已使用量,        缓存使用量


KiB Swap:  1049596 total,        0 free,  1049596 used.   350700 avail Mem

 虚拟内存:总量,        可用量,        已使用量,        物理内存使用估量

avail Mem对可用于启动新应用程序的物理内存的估计,而无需交换。 

单位:KiB=kibibyte=1024字节 

交互模式下可按m切换内存信息显示模式,一共有四种模式(一种是默认的模式,一种是不展示C内存信息,还有两种是以进度条直观展示内存使用率)

 

2.2 vmstat命令 

[root@VM-12-12-centos ~]# 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 1049596  96436  82824 348860    0    0   157    88    2    2  2  1 97  1  0

可以换个单位MB

[root@VM-12-12-centos ~]# vmstat --unit M
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   1024     83    104    328    0    0   157    88    2    2  2  1 97  1  0

swpd                 free                     buff          cache

虚拟内存         内使用内存        缓冲区        缓存

2.3 free命令 (常用)

[root@VM-12-12-centos ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1837        1324          94           8         418         340
Swap:          1024        1024           0

-m为单位兆字节(MB) 

 total        used                free              shared          buff/cache           available

总量        已使用量        未使用量        共享内存           缓存                可使用量

used=total - free - buffers - cache 

available:估计有多少内存可用于启动新应用程序,而无需交换 

3.监控系统磁盘

查看磁盘和分区信息

[root@VM-12-12-centos ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 66.1M  0 rom  
vda    253:0    0   50G  0 disk 
└─vda1 253:1    0   50G  0 part /

3.1 vmstat命令  

查看磁盘读写和io信息 

[root@VM-12-12-centos ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
vda   31001516 1407976 4337818467 997533685 142297956 87336019 2425332505 242079159      0  71243
sr0      125      0   12440      57      0      0       0       0      0      0

 ------------reads------------
 total  :成功完成的读取总数

merged   :分组读取(产生一个I/O)

sectors  :扇区读取成功

ms    :读取所花费的毫秒数

 ------------writes-----------

total  :成功完成的写入总数

merged :分组写入(产生一个I/O)

sectors :扇区写入成功

 ms:写入所花费的毫秒

-----IO------

 cur    :正在进行的I/O

sec   :I/O花费的秒数

3.2 df命令(常用)

查看磁盘分区使用量 

[root@VM-12-12-centos ~]# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  908M     0  908M   0% /dev
tmpfs          tmpfs     919M   56K  919M   1% /dev/shm
tmpfs          tmpfs     919M   99M  821M  11% /run
tmpfs          tmpfs     919M     0  919M   0% /sys/fs/cgroup
/dev/vda1      ext4       50G   26G   22G  56% /
tmpfs          tmpfs     184M     0  184M   0% /run/user/0
overlay        overlay    50G   26G   22G  56% /var/lib/docker/overlay2/d000eb495284c71a937e057fde5f6570b662df475dc9dad80548b2cb63422d63/merged
overlay        overlay    50G   26G   22G  56% /var/lib/docker/overlay2/e15d41552c9b14a19a34ca0524178494eb3c6ef3d8d22375de23c1eb38e6cbea/merged
overlay        overlay    50G   26G   22G  56% /var/lib/docker/overlay2/4367b43e6838548b8199eb41f0d393d89bf8af7af14f19493cf46088cf46b62a/merged

-h:更加人性化展示 

-T:增加文件类型Type 

 Filesystem      Size          Used         Avail             Use%                 Mounted on

文件系统        总容量         使用量        可用量        使用百分比        挂载点

4.监控系统平均负载

4.1 uptime 监控系统平均负载 

 15:33:22 up 78 days, 23:00:截止当前时间15:33:22服务器已经不间断运行78天23:00小时

2 users:代表两个终端连接上了服务器,注意这里不代表两个用户在线,一个用户开两个命令窗口也是显示2。

load average: 0.03, 0.19, 0.31:分别代表1分钟,5分钟,15分钟的平均负载。


系统负载平均数是处于可运行或不可中断状态的进程的平均数。

处于可运行状态的进程是正在使用CPU或者等待使用CPU的进程。

处于不间断状态的进程是正在等待一些I/O访问,例如等待磁盘的进程。 

负载平均值为1意味着单CPU系统一直处于加载状态,而在4 CPU系统上,这意味着75%的时间处于空闲状态。

查看CPU核心数命令:grep 'model name' /proc/cpuinfo | wc -l  

5.监控系统网络信息 

5.1 netstat命令

可用于   打印网络连接、路由表、接口统计信息、伪装连接和多播成员身份

 查看tcp连接

netstat -ta

Proto         Recv-Q         Send-Q         Local Address           Foreign Address         State 

协议           接收字节        发送字节        本地地址                远程地址                状态

Local Address:除非指定--numeric(-n)选项,否则套接字地址将解析为其规范主机名称和端口号被翻译成相应的服务名称。

就是不指定情况下是        主机名:服务名          例如:VM-12-12-centos:http

0.0.0.0:41113  这种是本机地址41113端口

查看主机名称

[root@VM-12-12-centos ~]# cat /etc/hostname 
VM-12-12-centos

 State:

        ESTABLISHED
              套接字已建立连接。

       SYN_SENT
              套接字正在积极尝试建立连接。

       SYN_RECV
              已从网络接收到连接请求。

       FIN_WAIT1
              套接字已关闭,连接正在关闭。

       FIN_WAIT2
              连接已关闭,套接字正在等待远程端的关闭。

       TIME_WAIT
              套接字在关闭后等待处理仍在网络中的数据包。

       CLOSE  

               套接字未被使用。

       CLOSE_WAIT
              远程端已关闭,正在等待套接字关闭。

       LAST_ACK
              远程端已关闭,并且套接字已关闭。正在等待确认。

       LISTEN

                套接字正在侦听传入的连接。

        CLOSING
              两个套接字都关闭了,但我们仍然没有发送所有数据。

       UNKNOWN
              套接字的状态未知。

查看udp连接 

 netstat -ua

 5.2 ifconfig命令

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.12.12  netmask 255.255.252.0  broadcast 10.0.15.255
        inet6 fe80::5054:ff:fe7f:b5bd  prefixlen 64  scopeid 0x20<link>
        ether 52:54:00:7f:b5:bd  txqueuelen 1000  (Ethernet)
        RX packets 138789549  bytes 35176997036 (32.7 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 145729310  bytes 36832664512 (34.3 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 

网卡名字:正在运行

        内网ipv4地址

        接收多少包,多少字节

        发送多少包,多少字节

  • 10
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值