获取内核空间占用CPU百分比
cpu_system=top -b -n 1 | grep Cpu | awk '{print $4}' | cut -f 1 -d "%"
echo “内核空间占用CPU百分比:”$cpu_system
获取空闲CPU百分比
cpu_idle=top -b -n 1 | grep Cpu | awk '{print $8}' | cut -f 1 -d "%"
echo “空闲CPU百分比:”$cpu_idle
获取等待输入输出占CPU百分比
cpu_iowait=top -b -n 1 | grep Cpu | awk '{print $10}' | cut -f 1 -d "%"
echo “等待输入输出占CPU百分比:”$cpu_iowait
#2、获取CPU上下文切换和中断次数
获取CPU中断次数
cpu_interrupt=vmstat -n 1 1 | sed -n 3p | awk '{print $11}'
echo “CPU中断次数:”$cpu_interrupt
获取CPU上下文切换次数
cpu_context_switch=vmstat -n 1 1 | sed -n 3p | awk '{print $12}'
echo “CPU上下文切换次数:”$cpu_context_switch
#3、获取CPU负载信息
获取CPU15分钟前到现在的负载平均值
cpu_load_15min=uptime | awk '{print $11}' | cut -f 1 -d ','
echo “CPU 15分钟前到现在的负载平均值:”$cpu_load_15min
获取CPU5分钟前到现在的负载平均值
cpu_load_5min=uptime | awk '{print $10}' | cut -f 1 -d ','
echo “CPU 5分钟前到现在的负载平均值:”$cpu_load_5min
获取CPU1分钟前到现在的负载平均值
cpu_load_1min=uptime | awk '{print $9}' | cut -f 1 -d ','
echo “CPU 1分钟前到现在的负载平均值:”$cpu_load_1min
获取任务队列(就绪状态等待的进程数)
cpu_task_length=vmstat -n 1 1 | sed -n 3p | awk '{print $1}'
echo “CPU任务队列长度:”$cpu_task_length
#4、获取内存信息
获取物理内存总量
mem_total=free | grep Mem | awk '{print $2}'
echo “物理内存总量:”$mem_total
获取操作系统已使用内存总量
mem_sys_used=free | grep Mem | awk '{print $3}'
echo “已使用内存总量(操作系统):”$mem_sys_used
获取操作系统未使用内存总量
mem_sys_free=free | grep Mem | awk '{print $4}'
echo “剩余内存总量(操作系统):”$mem_sys_free
获取应用程序已使用的内存总量
mem_user_used=free | sed -n 3p | awk '{print $3}'
echo “已使用内存总量(应用程序):”$mem_user_used
获取应用程序未使用内存总量
mem_user_free=free | sed -n 3p | awk '{print $4}'
echo “剩余内存总量(应用程序):”$mem_user_free
获取交换分区总大小
mem_swap_total=free | grep Swap | awk '{print $2}'
echo “交换分区总大小:”$mem_swap_total
获取已使用交换分区大小
mem_swap_used=free | grep Swap | awk '{print $3}'
echo “已使用交换分区大小:”$mem_swap_used
获取剩余交换分区大小
mem_swap_free=free | grep Swap | awk '{print $4}'
echo “剩余交换分区大小:”$mem_swap_free
#5、获取磁盘I/O统计信息
使用iostat命令需要安装sysstat包
echo “指定设备(/dev/sda)的统计信息”
每秒向设备发起的读请求次数
disk_sda_rs=iostat -kx | grep sda| awk '{print $4}'
echo “每秒向设备发起的读请求次数:”$disk_sda_rs
每秒向设备发起的写请求次数
disk_sda_ws=iostat -kx | grep sda| awk '{print $5}'
echo “每秒向设备发起的写请求次数:”$disk_sda_ws
向设备发起的I/O请求队列长度平均值
disk_sda_avgqu_sz=iostat -kx | grep sda| awk '{print $9}'
echo “向设备发起的I/O请求队列长度平均值”$disk_sda_avgqu_sz
每次向设备发起的I/O请求平均时间
disk_sda_await=iostat -kx | grep sda| awk '{print $10}'
echo “每次向设备发起的I/O请求平均时间:”$disk_sda_await
向设备发起的I/O服务时间均值
disk_sda_svctm=iostat -kx | grep sda| awk '{print $11}'
echo “向设备发起的I/O服务时间均值:”$disk_sda_svctm
向设备发起I/O请求的CPU时间百分占比
disk_sda_util=iostat -kx | grep sda| awk '{print $12}'
echo “向设备发起I/O请求的CPU时间百分占比:”$disk_sda_util
#### Linux中测试
[root@ncayu618 data]# ./system.sh
./system.sh:行1: #!/bin/bash: 没有那个文件或目录
IP地址:172.18.55.8
cpu总核数:1
用户空间占用CPU百分比:0.4
内核空间占用CPU百分比:0.3
空闲CPU百分比:99.3
等待输入输出占CPU百分比:0.0
CPU中断次数:15
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。