获取linuxIP、内存、cpu、磁盘IO等信息的Shell脚本及其讲解
#!/bin/bash
# 获取本机IP地址
ip_address=$(hostname -I | awk '{print $1}')
# 获取内存使用情况(单位:MB)
total_memory=$(grep MemTotal /proc/meminfo | awk '{print $2/1024}')
used_memory=$(grep MemAvailable /proc/meminfo | awk '{print ($2/1024)}')
# 获取CPU信息
cpu_model=$(lscpu | grep "Model name" | awk -F ': ' '{print $2}')
cpu_cores=$(lscpu | grep "CPU(s)" | awk '{print $2}')
# 获取磁盘IO信息
disk_name=$(lsblk -d -o NAME | head -n 1) # 通常获取第一个磁盘设备名
read_iops=$(cat /sys/block/$disk_name/stat | awk '{print $2}')
write_iops=$(cat /sys/block/$disk_name/stat | awk '{print $6}')
read_throughput=$(cat /sys/block/$disk_name/stat | awk '{print $4}')
write_throughput=$(cat /sys/block/$disk_name/stat | awk '{print $10}')
# 打印信息
echo "IP Address: $ip_address"
echo "Total Memory (MB): $total_memory"
echo "Used Memory (MB): $used_memory"
echo "CPU Model: $cpu_model"
echo "CPU Cores: $cpu_cores"
echo "Disk Name: $disk_name"
echo "Read IOPS: $read_iops"
echo "Write IOPS: $write_iops"
echo "Read Throughput (bytes): $read_throughput"
echo "Write Throughput (bytes): $write_throughput"
这个脚本提供了获取Linux系统关键信息的方法,包括IP地址、内存、CPU和磁盘IO的统计数据。脚本使用了hostname
,grep
,awk
,lscpu
,lsblk
以及cat
等常用命令,并通过文件读取来获取磁盘的IO信息。这些信息可以用于监控系统状态或者进行性能分析。
评论已关闭