性能分析

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 等待被写会硬盘的内存

你可能感兴趣的:(linux)