#!/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