Linux性能优化之cpu性能评估工具| 学习笔记

简介: 快速学习Linux性能优化之cpu性能评估工具。

开发者学堂课程【线上Linux服务器优化经验Linux性能优化之cpu性能评估工具】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/382/detail/4805


Linux性能优化之cpu性能评估工具


内容介绍:

一、vmstat

二、iostat

三、uptime 命令

四、top 命令


一、vmstat

(1)主要功能:

统计操作系统的内存信息、进程状态和 cpu 活动的监视。

(2)特点:

统计内容较为全面;系统默认自带,无须另外下载软件包,使用较为方便。

(3)使用方法(线上服务器演示):

vmstat 3 5:表示3秒钟统计一次系统信息,统计5次后结束。

image.png

(4)输出字段含义:

①procs(进程)

r值:表示 cpu 正在处理或者在 cpu 队列中等待的状态值。该数值的评判标准与cpu 核数有关,r 是指 cpu 运行队列的组合,在这个队列的饱和状态下,每个核均在处理一个任务,因此,r选项的最大值应小于或等于 cpu 总核数。若r值长期大于cpu 总核数,则说明此时 cpu 负载较重。

b 值:代表正在等待资源的进程数。如等待 I/O 或内存交换等。该数值同样不可以经常大于 cpu 总核数,若b值不经常为0或者较大,说明 cpu 的负载较大。

②memory(内存)

swpd :表示切换到交换区的内存数量,单位kb,若该值不为0,但 si 与 so 值为0,则说明内存无影响。

free:剩余物理内存状态值,单位kb。

buff:一般对块设备进行读写会用到缓冲,其存放 buff/cache 的内存量,还包括对于文件属性的存放,如文件大小、文件权限及文件写入的状态值等。

cache:表示 page-cache,作为文件系统的cache使用,访问频繁的文件都会被cache。该值一般较大,表示 cache 的文件较多,但并不代表内存不正常(该内容会在下节课具体阐述)。

③swap

si:表示由磁盘调入内存的文件数量,或者说是调入内存交换区的文件数量。

so:与si意义相反,表示由内存调入磁盘的文件数量,或者说是内存交换区进入物理内存的文件数量。

若 si 与 so 长期为0,则表明系统资源充足。反之,则说明系统物理内存不充足。

④io

bi:表示从块设备读入数据的总量,即读入磁盘的大小,单位kb。

bo:表示从写入块设备数据的总量,即写入磁盘的大小,单位kb。

⑤ system(系统间隔时间内发生的中断数)

表明内核消耗cpu时间的多少

in:在某个时间间隔内,观测到的每秒设备产生的中断数。

cs:在某个时间间隔内,观测到的每秒产生的上下文切换数。

若 in 值与 cs 值较大,则内核消耗的 cpu 量较大。

⑥cpu

us:表示用户进程消耗 cpu 的百分比。若该值较大,则说明用户进程消耗的 cpu 的时间较多。用户进程是指线上运行的软件、业务等,或称用户消耗的 cpu 资源。

sy:与 system 表示含义相同,表示内核进程消耗 cpu 的百分比。若该值较大,则说明内核进程消耗的 cpu 的时间较多。

若 us 长期大于50%,且sy值较小,说明用户进程消耗的 cpu 较多,但并不说明存在异常,仅说明资源得到了充分利用。

若us加sy长期大于80%,则说明系统 cpu 资源不足。

id:表示 cpu 处于空闲状态时间的百分比。

wa:表示 I/O 等待值占用cpu时间的百分比。若该值较大,则说明 I/O 等待值较大。若 wa 大于20%,则 I/O 等待值较大,需要考虑是否是由于大量磁盘读写导致的;若 wa 长期大于50%,则表明磁盘存在问题,可增加更快的磁盘或对其进行优化。

st

 

二、iostat(I/O statistics 输入/输出统计)

(1)主要功能:

对系统磁盘 I/O 工作进行监视及对 cpu 状态进行统计与判断。

(2)特点:

需要另外安装 sysstat 工具包

(3)使用方法:

iostat直接输入:显示操作系统启动到输出前的状态值。

image.png

iostat -c 3 5:评估cpu的状态值,表示3秒输出一次,输出5次 。

iostat -d:判断磁盘的I/O状态值。

(3)输出字段分析:

image.pngavg-cpu:表示 cpu 平均值的统计。

%user:表示用户进程占用 cpu 的百分比。

%nice:表示运行正常时间消耗 cpu 的百分比。

%system:表示内核进程消耗 cpu 的百分比。

%iowait:表示 I/O 等待时间消耗 cpu 的百分比。

%steal:表示在内存紧张环境下,page-in(入页:内存进行切换操作)时,强制对不同页进行的 steal 操作,主要涉及对内存的判断。

%idel:表示空闲时间占用 cpu 的百分比。

 

三、uptime 命令

(1)主要用途:

用于判断系统整体性能的指标命令,可了解一段时间内系统的负载状态。

(2)特点:

系统自带的命令

(3)使用方法:

uptime直接输出

image.png

(4)输出字段分析:

①显示当前时间

②up显示系统启动时间

③显示登录系统用户数目

④load average 显示平均负载

第1个值:代表系统1分钟之内整体的负载状态。

第2个值:代表系统5分钟之内整体的负载状态。

第3个值:代表系统15分钟之内整体的负载状态。

 

四、top命令

(1)主要功能:

显示包括cpu、磁盘、内存、网络等信息

(2)特点:

使用最为简单,且统计范围十分广泛

(3)使用方法:

top直接输入

image.png

(4)输出字段含义:

①与 uptime 显示结果相同。

②Tasks :显示目前系统总的任务数、正在运行的任务数、休眠的任务数及处于僵尸状态的任务数。

③Cpu(s):对 cpu 状态的统计

键盘输入“1”,则显示cpu的核数及每个核的运行状态。其输出值与 vmstat 、iostat 输出值含义相同。

④Mem:对内存的统计,显示系统物理内存总量、使用物理内存量、空闲物理内存量和缓冲物理内存量。

⑤Swap:对 Swap 使用情况的统计

相关文章
|
8天前
|
Ubuntu 安全 Linux
Linux(34)Rockchip RK3568 Ubuntu22.04和Debian 10上配置远程桌面工具
Linux(34)Rockchip RK3568 Ubuntu22.04和Debian 10上配置远程桌面工具
40 0
|
2天前
|
Linux 网络安全 数据处理
【专栏】Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
【4月更文挑战第28天】Linux下的xxd命令是一个强大的二进制数据处理工具,用于十六进制转储和数据分析。它可以显示文件的十六进制和ASCII表示,方便查看内容、分析数据结构和比较文件。xxd支持指定输出格式、写入文件、数据提取和转换等功能。在网络安全分析、程序调试和数据恢复等领域有广泛应用。通过掌握xxd,用户能更深入理解和处理二进制数据。
|
2天前
|
安全 Linux 网络安全
【专栏】Linux 网络扫描工具:nmap,涨知识的时间到了!
【4月更文挑战第28天】nmap, 开源网络扫描工具,用于探测主机、网络信息,包括开放端口、服务类型、OS等。本文分三部分介绍:1) nmap简介与基本原理;2) 使用方法和高级技巧,如脚本扩展;3) 实际应用,如网络安全评估、系统管理和渗透测试。学习nmap需注意合规性,持续探索新技巧,以提升网络管理与安全能力。一起开始nmap的探索之旅吧!
|
7天前
|
JSON Unix Linux
Linux系统之jq工具的基本使用
Linux系统之jq工具的基本使用
33 2
|
7天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
50 2
|
7天前
|
编解码 Linux 数据安全/隐私保护
linux工具之curl与wget高级使用
linux工具之curl与wget高级使用
|
12天前
|
Linux
linux系统如何使用GPT工具进行分区
linux系统如何使用GPT工具进行分区
|
2天前
|
运维 网络协议 Linux
【专栏】运维工程师工作时最常用的 20 个 Linux 命令有哪些?建议收藏
【4月更文挑战第28天】本文介绍了运维工程师常用的20个Linux命令,包括`ls`、`cd`、`pwd`、`mkdir`、`rm`、`cp`、`mv`、`cat`、`more`、`less`、`head`、`tail`、`grep`、`find`、`chmod`、`chown`、`chgrp`、`ps`、`top`和`ifconfig`,帮助提升工作效率。此外,还提到了其他常用的命令如`df`、`free`、`tar`、`ssh`、`scp`、`ping`、`netstat`、`iptables`、`systemctl`、`hostname`等,建议运维人员掌握以应对各种运维场景。
|
20小时前
|
存储 Linux Shell
linux课程第二课------命令的简单的介绍2
linux课程第二课------命令的简单的介绍2