Shell编程(二)

1、查看服务器利用率

# CPU 60%  command:top(us+sy<60) vmstat
# 内存 利用率 free -m(mem  swap虚拟内存,临时缓冲)
# 硬盘 利用率 df -h
# TCP连接状态 netstat -antp

function cpu() {
    # NR==3 取第三列
    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)print "%.1f", $2/1024}')
    used=$(free -m | awk '{if(NR==2)print "%.1f", ($2-$NF)/1024}')
    available=$(free -m | awk '{if(NR==2)print "%.1f", $NF/1024}')
    echo "内存-总大小:${total}G, 已使用:${used}, 剩余:${available}G"
}

disk() {
    # /^ 开头  \/转义
    fs=$(df -h| awk '/^\/dev/{print $1}')
    for p in $fs;do
        mounted=$(df -h|awk -v p=$p '$1==p{print $NF}'
        size=$(df -h|awk -v p=$p '$1==p{print $2}'
        used=$(df -h|awk -v p=$p '$1==p{print $3}'
        used_percent=$(df -h|awk -v p=$p '$1==p{print $5}'
        echo "硬盘-挂载点:$mounted,总大小:$sizze,已使用:$used,使用率:$used_percent"
    done
}

tcp_status(){
    summary=$(netstat -antp | awk '{a[$6]++}END{for(i in a)printf i":"a[i]" "}')
    echo "TCP连接状态- $summary"
}

2、找出占用CPU/内存过高的进程

在这里插入代码片

【shell脚本实践】(一)
【Shell编程】-基础(一)
【shell编程】父子shell和特殊变量
【shell编程】-条件判断
【shell编程】特殊命令用法

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lance_mu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值