mpstat命令和/proc/stat文件
mpstat,top等命令都能显示出当前cpu的平均负载。这里总结一下实现原理。和磁盘容量相同,主要信息依然来自proc文件夹中的文件。
/proc/stat文件文件中包含了所有cpu活动信息,所有值都是从系统启动开始累计到当前的值。
cat /proc/stat 可以看到:
“cpu”开头的几行给出的是cpu不同状态下时间片(单位:jiffies)。
cpu为总的信息,cpu0,cpu1….cpu n 对应各个cpu的信息。
“cpu”后面的数值是对应(user、nice、system、idle、iowait、irq、softirq、stealstolen、guest)的9元组:
数值对应cpu这行。
urt 用户时间(User time) 从系统启动开始累计到当前时刻,处于用户态的运行时间,不包括nice啥时间。
net Nice时间(Nice time) 系统调整进程优先级所花费的时间
smt 系统时间(System time) 从系统启动开始累计到当前时刻,处于核心态的运行时间
iet 空闲时间(Idle time) 系统空闲时间
wgt 等待时间(Waiting time) 从系统启动开始累计到当前时刻,IO等待时间(since 2.5.41)
hdt 硬中断处理时间(Hard Irq time) 从系统启动开始累计到当前时刻,硬中断时间(since 2.6.0-test4)
sqt 丢失时间(Steal time) 从系统启动开始累计到当前时刻,软中断时间(since 2.6.0-test4)
以下两个参数可能有的系统不存在。
slt 丢失时间(Steal time) 丢失的时间片,如果系统运行于虚拟机中,则会有时间片用在别的操作系统上。 which is the time spent in other operating systems when running in a virtualized environment(since 2.6.11)
gst 客户时间(guest time) 系统中运行了虚拟机,会有时间片用于调度虚拟机中的操作系统内核。 which is the time spent running a virtual CPU for guest operating systems under the control of the Linux kernel(since 2.6.24)
“intr”这行给出中断的信息,第一个为自系统启动以来,发生的所有的中断的次数;然后每个数对应一个特定的中断自系统启动以来所发生的次数。
“ctxt”给出了自系统启动以来CPU发生的上下文交换的次数。
“btime”给出了从系统启动到现在为止的时间,单位为秒。(实际查看发现这个值不变,原因未知)
“processes” (total_forks) 自系统启动以来所创建的任务的个数目。
“procs_running”当前运行队列的任务的数目。
“procs_blocked”当前被阻塞的任务的数目。
CPU占用率计算公式:
注意这里使用的是一个阶段的差值来计算使用率的,这个使用率是个平均值。
注意最后两个数值(slt,gst)可能有的版本不存在。
rate[gt]=gst/cut*100 #gt — (Guest time)系统中虚拟机使用的CPU占总CPU的百分比
【Linux】之【磁盘】相关的命令及解析[df、du、iostat、iotop] df命令来自于英文词组”Disk Free“的缩写,其功能是用于显示系统上磁盘空间的使用量情况。df命令显示的磁盘使用量情况含可用、已有及使用率等信息,默认单位为Kb,建议使用-h参数进行单位换算。
iostat命令 摘要: 一、介绍 iostat用于监视系统IO以及CPU使用情况。 二、安装 sudo apt-get install sysstat 三、语法和选项、参数 语法:iostat [选项] [参数] 选项: -c:仅显示CPU使用情况 -d:仅显示设备IO情况 -k:显示状态以kb/s为单位 -m:显示状态以
相关文章
- [系统安全24]由浅入深PE基础学习-菜鸟手动查询导出表、相对虚拟地址(RVA)与文件偏移地址转换(FOA)
- Linux文件查找命令 find 详解
- 转:linux 文件解压命令
- 【Java】如何获取文件的创建时间、更新时间
- 剪切文件或目录命令 - mv
- VC++_错误 无法打开包括文件“glglut.h” No such file or directory 怎么办
- OC方法和文件编译
- 多线程取读文件(别人的,有点晕,先放在这里有时间研究研究)
- linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)
- 将一个命令的输出保存到CSV文件
- AndroidManifest.xml文件详解(activity)(三)四种工作模式
- 服务器端实现文件下载功能代码
- Linux的文件压缩——tar和zip命令
- 重新点亮linux 命令树————文件特殊权限[十一]
- 通过shell命令编辑xml文件--sed工具
- CentOS 显示历史执行过的命令以及用户历史命令缓存文件
- [BI项目记]-对项目文件进行规划
- Atitit .h5文件上传 v3
- init.rc文件中执行shell命令
- 成功解决使用jupyter notebook命令打开原先存的.ipynb文件突然消失的问题
- Qt 生成dump文件及windbg调试(进阶版)
- C++ QT中文件的读写操作(UI界面)
- Ubuntu16.04安装safe-rm,防止rm -rf /命令误删除文件
- Linux文件管理命令(3)-mv改动文件
- nohup 输出到指定文件 Linux nohup 实现命令后台运行并输出或记录到指定日志文件 设置日志结果文件名称 重定向到某个文件 标准误 标准错误输出定向
- linux 查看文件命令总结
- HTML如何引入外部JS文件
- Android 把java文件从一个目录到另一个目录下的父类文件提示:红色波浪线
- ASP.NET MVC (三、表单与文件上传)
- yarn install命令运行报错:yarn : 无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次
- Linux基础笔记10 | 文件查找命令 find 详解
- 批处理基础命令0-3 for /f 文件操作