lscpu
# 逻辑cpu核数
CPU(s): 8
On-line CPU(s) list: 0-7
# 每个核心线程, 如何大于1则使用了超线程技术
Thread(s) per core: 1
# 每个cpu插槽核数 / 每颗物理cpu核数
Core(s) per socket: 8
# 物理CPU的插槽
Socket(s): 1
cat /proc/cpuinfo
# cpu数量 --- x
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 每颗cpu内核数 --- y
cat /proc/cpuinfo| grep "cpu cores"| uniq
# cpu内核数 --- z = x*y
cat /proc/cpuinfo| grep "processor"| wc -l
top
# CPU使用率
top -bd30 | grep --color=auto -n --line-buffered "id" | awk '{print strftime("%x %X"),$2}' >> /root/liuende/cpu.txt
# 内存使用率
top -bd30 | grep --color=auto -n --line-buffered "buff/cache" | awk '{print strftime("%x %X"),$6,"KiB",$7}' >> /root/liuende/memory.txt
# 测试使用
top -n1 | grep --color=auto -n --line-buffered "buff/cache" | awk '{print strftime("%x %X"),$6,"KiB",$7}'
load average
CPU利用率在50%到60%可认为到达临界值, 长期超负荷运作对于机器本身来说是一种损害, 需要休息时间
Load Average是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息, 也就是CPU使用队列的长度的统计信息
CPU利用率和Load Average的区别
- CPU使用率反映的是CPU被有效使用的情况
- Load Average反映进程竞争CPU资源的情况, 理论上存在高load average而低CPU使用率的情况
- 对CPU资源的长期热竞争也是对硬件的一种损害
sar(System Activity Reporter)
基础
记录路径: /var/log/sa
安装: yum install sysstat
定时任务: cat /etc/cron.d/sysstat
配置文件: cat /etc/sysconfig/sysstat
监测
cpu
# -u cpu使用情况
# -o 输出文件
# 每5秒采样一次, 采样3次
sar -u -o cpu 5 3
# 查看采样文件
# -f extract file create by -o
sar -u -f test
15时00分01秒 CPU %user %nice %system %iowait %steal %idle
15时10分01秒 all 0.07 0.00 0.14 0.00 0.00 99.79
abbr | desc |
---|---|
user | 用户 |
nice | 进程优先操作 |
system | 系统 |
iowait | i/o |
steal | 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU |
idle | 空闲 |
内存
# -r 内存使用情况
sar -r -o memory 5 3
15时00分01秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
15时10分01秒 150472 1714812 91.93 0 1198096 520488 13.14 713132 729172 4
abbr | desc |
---|---|
kbmemfree | 空闲 |
kbmemused | 使用 |
%memused | 使用占比 |
kbbuffers | buffers |
kbcached | cached |
kbcommit | 保证当前系统所需要的内存 |
%commit | 保证系统运行内存占比 |
kbactive | 活跃内存(经常使用不回收的内存,只有在必须被需要时回收) |
kbinact | 不活跃内存(最近不经常使用, 更有可能回收给其他进程使用) |
kbdirty | 等待被写会硬盘的内存 |