#!/bin/bash
function cpu() {
use=$(vmstat |awk '{if (NR==3)print $13+$14}') iowait=$(vmstat |awk '{if (NR==3)print $16}') user=$(vmstat |awk '{if (NR==3)print $13}') sys=$(vmstat |awk '{if (NR==3)print $14}') echo "cpu - 使用率: ${user}% , 等待磁盘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-$NF)/1024}') available=$(free -m |awk '{if (NR==2) printf "%.1f",$NF/1024}') echo "内存 - 总大小: ${total}G , 已使用: ${used}G , 剩余: ${available}G " } disk (){
dev=$(df -h |awk '/^\/dev/{print $1}') for p in $dev; do
mounted=$(df -h |awk -v s=$p 's==$1{print $NF}' ) size=$(df -h |awk -v s=$p 's==$1{print $2}') used=$(df -h |awk -v s=$p 's==$1{print $3}') used_percent=$(df -h |awk -v s=$p 's==$1{print $5}') echo "硬盘 - 挂载点: $mounted , 总大小: $size , 已使用: $used , 使用率: $used_percent " done } tcp_status(){
status=$(netstat -anpt | awk '{a[$6]++}END{for (i in a) printf i ":" a[i]" "}') echo "TCP连接状态 - $status " } cpu memory disk tcp_status
|