首页 > 系统相关 >4.使用shell脚本查看系统资源利用率

4.使用shell脚本查看系统资源利用率

时间:2022-11-28 16:22:06浏览次数:44  
标签:shell df used awk printf print NR 利用率 系统资源

#!/bin/bash
function CPU() {
    util=`vmstat |awk '{if(NR==3) print $13+$14}'`
        iowait=`vmstat |awk '{if(NR==3) print $16}'`
        echo "CPU使用率: ${util}% , 等待磁盘IO使用率: ${iowait}%"
}

function MEMORY() {
    total=`free -m |awk '{if(NR==2) printf "%.1f",$2/1024}'`
    used=`free -m |awk '{if(NR==2) printf "%.1f",$2/1024-$NF/1024}'`
    available=`free -m |awk '{if(NR==2) printf "%.1f",$NF/1024}'`
    echo "总内存: ${total}G , 已使用内存:${used}G , 剩余内存: ${available}G "
}

function DISK() {
        FS=$(df -h |awk '/^\/dev/{print $1}')
        for p in $FS; do
            mounted=$(df -h |awk '$1=="'$p'"{print $NF}')
            size=$(df -h |awk '$1=="'$p'"{print $2}')
            used=$(df -h |awk '$1=="'$p'"{print $3}')
            used_percent=$(df -h |awk '$1=="'$p'"{print $5}')
            echo "硬盘挂载点: $mounted , 总大小: $size , 使用: $used , 使用率: $used_percent"
        done    
}

function TCP_STATUS() {
    summary=`ss -antp |awk '{status[$1]++}END{for(i in status) printf i":"status[i]" "}'`
    echo "TCP连接状态: $summary"
}

CPU
MEMORY
DISK
TCP_STATUS

标签:shell,df,used,awk,printf,print,NR,利用率,系统资源
From: https://www.cnblogs.com/51-devops/p/16932508.html

相关文章

  • shell 使用jq解析json字符串数组
    echojson.txt|jq'.' 输出整个json字符串echojson.txt|jq'.[0]' 取出数组中第一个objectechojson.txt|jq'.[0].name' 取出数组第一个object中键为name的值......
  • Shell 把日志记录按天切割到不同的文件【转】
    #!/bin/bash#文件夹不存在,则创建,参数从$1开始createFolder(){if[!-d$1];thenmkdir-p$1#创建文件夹:-p递归创建文件夹chmod-R777......
  • Shell入门
    一、Shell是什么Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。......
  • 将shell切换为TTY
    pythonpython-c'importpty;pty.spawn("/bin/bash")'#python2python3-c'importpty;pty.spawn("/bin/bash")'#python3stty获取到shell后,先Ctrl+z放到后台......
  • Hadoop Shell 命令详解
    HadoopShell命令​​FSShell​​​​cat​​​​chgrp​​​​chmod​​​​chown​​​​copyFromLocal​​​​copyToLocal​​​​cp​​​​du​​​​dus​​​​exp......
  • 带你了解LINUX反弹Shell的各种姿势(超详细)
    简介LInux反弹Shell(ReveserShell),也可以称为反向Shell,由被控制端主动向控制端发送请求建立通讯,随后将执行命令的结果输出到控制端,本质上是网络概念的客户端与服......
  • 如何通过 kubectl 进入 node shell
    概述假设这样一个场景:生产环境中,Node都需要通过堡垒机登录,但是kubectl是可以直接在个人电脑上登录的。这种场景下,我想要通过kubectl登录到K8S集群里的Node,可以......
  • shell脚本去重的几种方法
    测试文件如下:jasonjasonjasonfffffjason第一种去重方法:sort-u文件名或者cat文件名|sort-u[root@bogon~]#sort-utestfffffjason但这......
  • Ubuntu子系统shell脚本自动连接xfce4界面
    脚本功能命令行参数指定ip连接/获取ifconfig中的本地ip连接修改.bashrc#!/bin/bashnet_dev="wifi0"#默认的设备名FALSE="0"TRUE="1"#若无参数则选择本地ipv4......
  • xshell 6 显示隐藏窗口标签
    快捷键:ctrl+shift+T:显示/隐藏窗口标签shift+insert:粘贴已经复制的内容 ......