系统版本:CentOS 7.4

top

17:49:04       // 当前时间
up 3:55 // 系统运行时间,格式为时:分
2 users // 当前登录用户数
load average // 三个值分别为 1分钟,5分钟,15分钟内的系统负载,当这个值超过 CPU 可执行单元的数目,表示 CPU 的性能已成为瓶颈。 Tasks // 进程总数
running // 正在运行的进程数,包括正在 CPU 上运行的和将要被调度运行的
sleeping // 睡眠的进程数, 通常是等待事件(比如 IO 操作)完成的任务,细分可以包括 interruptible 和 uninterruptible 的类型;
stopped // 停止的进程数
zombie // 僵尸进程数 us // 用户空间占用 CPU 百分比
sy // 内核空间占用 CPU 百分比,操作系统通过系统调用(system call)从用户态陷入内核态,以执行特定的服务;但是当服务器执行的 IO 比较
密集的时候,该值会比较大
ni // 用户进程空间内改变过优先级的进程占用CPU百分比
id // 空闲CPU百分比
wa // 等待 IO 输入输出的CPU时间百分比
hi // 硬中断占用百分比
si // 软中断占用百分比
st // 虚拟机占用百分比 PID // 每个进程的 ID
USER // 每个进程所有者的用户名
PR // 每个进程的优先级别
NI // 该进程的优先级值
VIRT // 进程需要的虚拟内存大小,包括进程使用的库,代码,数据等
RES // 该进程占用的物理内存的总数量,单位是 KB
SHR // 该进程使用共享内存的数量
S // 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止, Z=僵尸进程)
%CPU // 该进程自最近一次刷新一来所占用的CPU时间和总时间的百分比
%MEM // 该进程占用的物理内存占总内存的百分比
TIME+ // 该进程自启动以来所占用的总 CPU 时间。
COMMAND // 该进程的命令名称。

CPU 占用率高很多情况下意味着一些东西,这也给服务器 CPU 使用率过高情况下指明了相应地排查思路:

当 user 占用率过高的时候,通常是某些个别的进程占用了大量的 CPU,这时候很容易通过 top 找到该程序;此时如果怀疑程序异常,可以通过 perf 等思路找出热点调用函数来进一步排查;

当 system 占用率过高的时候,如果 IO 操作(包括终端 IO)比较多,可能会造成这部分的 CPU 占用率高,比如在 file server、database server 等类型的服务器上,否则(比如>20%)很可能有些部分的内核、驱动模块有问题;

当 nice 占用率过高的时候,通常是有意行为,当进程的发起者知道某些进程占用较高的 CPU,会设置其 nice 值确保不会淹没其他进程对 CPU 的使用请求;

当 iowait 占用率过高的时候,通常意味着某些程序的 IO 操作效率很低,或者 IO 对应设备的性能很低以至于读写操作需要很长的时间来完成;

当 irq/softirq 占用率过高的时候,很可能某些外设出现问题,导致产生大量的irq请求,这时候通过检查 /proc/interrupts 文件来深究问题所在;

当 steal 占用率过高的时候,黑心厂商虚拟机超售了!

uptime

14:01:02         //系统当前时间
up 3 days, 7 min //主机已运行时间
2 users //当前登录用户数
load average: 0.00, 0.01, 0.05 //三个值分别为 1分钟,5分钟,15分钟内的系统负载

vmstat

(Procs) r      // 运行队列中进程数量
(Procs) b // 等待 IO 的进程数量
(Memory) swpd // 使用虚拟内存大小
(Memory) free // 可用内存大小
(Memory) buff // 用作缓冲的内存大小
(Memory) cache // 用作缓存的内存大小
(Swap) si // 每秒从交换区写到内存的大小
(Swap) so // 每秒写入交换区的内存大小
(IO) bi // 每秒读取的块数
(IO) bo // 每秒写入的块数
(System) in // 每秒中断数,包括时钟中断
(System) cs // 每秒上下文切换数
(CPU) us // 用户进程执行时间 (user time)
(CPU) sy // 系统进程执行时间 (system time)
(CPU) id // 空闲时间(包括 IO 等待时间)
(CPU) wa // 等待IO时间

mpstat

%user      // 表示处理用户进程所使用CPU的百分比。用户进程是用于应用程序(如Oracle数据库)的非内核进程;
%nice      // 表示使用nice命令对进程进行降级时CPU的百分比;
%sys       // 表示内核进程使用的CPU百分比;
%iowait    // 表示等待进行I/O所使用的CPU时间百分比;
%irq       // 表示用于处理系统中断的CPU百分比;
%soft      // 表示用于软件中断的CPU百分比;
%idle      // 显示CPU的空闲时间;

sar

%user   // 显示在用户级别(application)运行使用CPU总时间的百分比。
%nice // 显示在用户级别,用于nice操作(进程优先级切换),所占用CPU总时间的百分比
%system // 在核心级别(kernel) 运行所使用CPU总时间的百分比。
%iowait // 显示用于等待I/O操作占用CPU总时间的百分比。
%steal // 管理程序(hypervisor)为另一虚拟进程提供服务而等待虚拟CPU的百分比。
%idle // 显示CPU空闲时间占用CPU总时间的百分比。 1.若 %iowait 的值过高,表示硬盘存在I/O瓶颈
2.若 %idle 高但是系统响应慢时,可能是CPU等待分配内存,此时应加大内存容量
3.若 %idle 的值持续低于1,则系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。 如果要查看二进制文件 test 中的内容,需键入如下sar命令:
sar -u -f test
-u : 输出cpu使用情况和统计信息
-f : 从制定的文件读取报告

pidstat

PID     // 进程ID
%usr // 进程在用户空间占用cpu的百分比
%system // 进程在内核空间占用cpu的百分比
%guest // 进程在虚拟机占用cpu的百分比
%CPU // 进程占用cpu的百分比
CPU // 处理进程的cpu编号
Command // 当前进程对应的命令

UID     // 执行进程的 UID
PID // 进程ID
%usr // 进程在用户空间占用cpu的百分比
%system // 进程在内核空间占用cpu的百分比
%guest // 进程在虚拟机占用cpu的百分比
%CPU // 进程占用cpu的百分比
CPU // 处理进程的cpu编号
Command // 当前进程对应的命令

CPU 实用工具的更多相关文章

  1. IL反编译的实用工具

    初识Ildasm.exe——IL反编译的实用工具   Ildasm.exe 概要: 一.前言: 微软的IL反编译实用程序——Ildasm.exe,可以对可执行文件(ex,经典的控制台Hello Wor ...

  2. Linux系统监控实用工具Glances

    Linux系统监控实用工具Glances Glances安装 Glances安装要求:python >= 2.6 和 psutil >= 0.4.1 1.第一步,安装了python-> ...

  3. [Linux实用工具]munin-node插件配置和插件编写

    前面介绍了2篇munin使用的相关文章: [Linux实用工具]Linux监控工具munin的安装和配置 [Linux实用工具]Linux监控工具munin的展示(Nginx)   这次介绍一下mun ...

  4. Android程序员不容错过的10款在线实用工具

    Android十款在线工具,在做Android开发过程中,会遇到一些小的问题,虽然自己动手也能解决,但是有了一些小工具,解决这些问题就得心应手了.Android在线工具,包括在线测试工具,及其他较为重 ...

  5. Bootstrap<基础十> 响应式实用工具

    Bootstrap 提供了一些辅助类,以便更快地实现对移动设备友好的开发.这些可以通过媒体查询结合大型.小型和中型设备,实现内容对设备的显示和隐藏. 需要谨慎使用这些工具,避免在同一个站点创建完全不同 ...

  6. 10款让WEB前端开发人员更轻松的实用工具

    这篇文章介绍10款让Web前端开发人员生活更轻松的实用工具.每个Web开发人员都有自己的工具箱,这样工作中碰到的每个问题都有一个好的解决方案供选择. 对于每一项工作,开发人员需要特定的辅助工具,所以如 ...

  7. 十款让 Web 前端开发人员更轻松的实用工具

    这篇文章介绍十款让 Web 前端开发人员生活更轻松的实用工具.每个 Web 开发人员都有自己的工具箱,这样工作中碰到的每个问题都有一个好的解决方案供选择. 对于每一项工作,开发人员需要特定的辅助工具, ...

  8. .Net 高效开发之不可错过的实用工具(转)

    .Net 高效开发之不可错过的实用工具(转) 本文摘自: http://www.cnblogs.com/powertoolsteam/p/5240908.html#3372237 Visual Stu ...

  9. 实用工具推荐(Live Writer)(2015年05月26日)

    1.写博客的实用工具 推荐软件:Live Writer 使用步骤: 1.安装 Live Essential 2011,下载地址:http://explore.live.com/windows-live ...

随机推荐

  1. Java 使用 int 数据计算百分比

    int diliverNum=3;//举例子的变量 int queryMailNum=9;//举例子的变量 // 创建一个数值格式化对象 NumberFormat numberFormat = Num ...

  2. 4.TableLayout、回调接口

    会话详情页 listview条目布局 列,当第0列的内容过多时,不至于将其他列的内容,挤出屏幕 --> <TableLayout android:id="@+id/tl_rece ...

  3. Linux(Centos平台)RabbitMQ消息中间件服务器搭建

    本篇结合接口测试平台部署来讲,不了解的请先查看我的另一篇文档,HttpRunnerManager接口测试平台部署在服务器上(Centos + python3.6 + Mysql5.7 + uwsgi ...

  4. ubuntu 16.04 安装caffe2的方法及问题解决

    工作需要安装caffe2,从用户体验上来讲,caffe2的安装绝对是体验比较差的那种,花费了我那么多时间去倒腾,这样的用户体验的产品,估计后面是比较危险的. 废话少说,直接上步骤: 官网上有安装目录, ...

  5. getComputedStyle与currentStyle获取样式

    转载自:https://segmentfault.com/a/1190000007477785 CSS的样式分为三类: 内嵌样式:是写在标签里面的,内嵌样式只对所在的标签有效内部样式:是写在HTML里 ...

  6. 《你不知道的JavaScript(上卷)》读书笔记

    第一次尝试用思维导图记笔记,感觉还不错~~~不过还是改不了我读书笔记写成抄书笔记的毛病 =.= 因为开始学JS的时候,一般浏览器就已经支持ES6了,所以比较喜欢使用ES6语法,let,=>等,文 ...

  7. 心路历程(五)-find work and find house

    今天,对我半年的java自学经历做一个总结吧,因为今天刚找到了房子,而工作在前两天已经找到.面试了两家,第一家是海淀去知春路的中科软,去之前就百度了这家公司,各种黑,然后自己去了之后,说说自己真实的感 ...

  8. Java的优点

    前几天面试被问到:“Java的优点有哪些?”,当时只回答了跨平台和解释型两点,做的并不是太好,所以今天小编就总结一下Java的几大优点,增加自己的知识储备. 1.跨平台性: Java通过自带的JVM实 ...

  9. C++版 - 剑指offer 面试题24:二叉搜索树BST的后序遍历序列(的判断) 题解

    剑指offer 面试题24:二叉搜索树的后序遍历序列(的判断) 题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则返回true.否则返回false.假设输入的数组的任意两个 ...

  10. 微信分享config:ok 但自定义内容无效

    一.问题 使用微信 JSSDK 分享,出现自定义内容无效 ,也就是分享出去的内容不是你配置的内容. 但在调试过程中发现 congfig 都是 ok 的 二.解决 检查config 配置是否正确 js ...