l %steal 表示CPU等待虚拟机调度的时间占比,这个指标一般在虚拟机中才会有,物理机中该值一般维持为0,和vmstat命令中的st数据基本一致。
l %guest表示运行vCPU(虚拟处理器)时所消耗的cpu时间百分比
l %gnice表示运行降级虚拟程序所使用的CPU占比
l %idle表示空闲 CPU时间的占比,和vmstat命令中的id数据基本一致。
我们上面通过执行mpstat 1 10 获取到的是服务器中所有的CPU核数的汇总数据,所以可以看到在显示时,CPU列显示的为all,如果我们需要查看服务器中么某一个CPU核的资源使用情况,可以在执行mpstat命令时,加上-P 这个参数,比如执行mpstat -P 0 1 10 命令可以获取到服务器中CPU核编号为0的CPU核的资源的使用情况(CPU核的编号是从0开始,比如图中我们的服务器有2个CPU核那么CPU核的编号就是0和1)。
备注:作者的原创文章,转载须注明出处。原创文章归作者所有,欢迎转载,但是保留版权。对于转载了博主的原创文章,不标注出处的,作者将依法追究版权,请尊重作者的成果。
本文作者:张永清 文章选自 作者2020年初即将出版的《性能测试分析与性能诊断调优核心思想》一书。
1.1.3 从lsof中能看到什么
lsof 是对Linux操作系统中对文件进行监控的一个常用命令,使用该命令可以列出当前系统打开了哪些文件,系统中某个进程打开了哪些文件等。
我们直接执行lsof即可以显示当前操作系统打开了哪些文件,lsof命令必须运行在root用户下,这是因为lsof命令执行时需要访问核心内存和内核文件,如下图所示,我们直接执行lsof命令后得到的结果。
l 第1列展示的为进程的名称,图中显示的进程名称为nginx。
l 第2列展示的为进程的id编号(也就是Linux操作系统中常说的PID)
l 第3列展示的为进程的所有者,也就是这个进程是运行在哪个Linux用户下的,可以看到图中的进程基本都是运行在root用户下,这是因为我在启动nginx时,就是在root用户下来启动的
l 第4列展示的为文件描述符(File Descriptor number),常见的类型如下
文件描述符简称
英文全称
中文解释
cwd
current working directory
当前工作的目录
mem
memory-mapped file
代表把磁盘文件映射到内存中
txt
program text
进程运行的程序文件,包括编译后的代码文件以及产生的数据文件等,图中的nginx命令文件就属于txt类型。
rtd
root directory
代表root目录
pd
parent directory
父目录
DEL
a Linux map file that has been deleted
代表已经删除的Linux映射文件
数字+字符,如0u、1w、2w等
0:表示标准输出
1:表示标准输入
2:表示标准错误
u:表示该文件被打开并处于读取/写入模式
r:表示该文件被打开并处于只读模式
w:表示该文件被打开并处于只写入模式
l 第5列展示的为打开的文件类型,常见的类型如下
类型
英文全称
解释
DIR
directory
代表了一个文件目录
CHR
character special file
特殊字符文件
LINK
symbolic link file
链接文件
IPv4
IPv4 socket
IPv4 套接字文件
IPv6
IPv6 network file
打开了一个IPV6的网络文件
REG
regular file
普通文件
FIFO
FIFO special file
先进先出的队列文件
unix
UNIX domain socket