博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【学习笔记】Linux下CPU性能评估
阅读量:2068 次
发布时间:2019-04-29

本文共 1746 字,大约阅读时间需要 5 分钟。

Linux下CPU性能评估

1、 vmstat监控CPU使用情况

【说明】

procs:

l  r表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU的个数,就说明CPU不足,需要增加CPU。

l  b表示在等待资源的进程数,比如正在等待I/O或者内存交换等。

memory:

l  swpd:表示切换到内存交换区的内存数量(以kB为单位).如果swpd的值为0或者比较大,而且si、so的值长期为0,那么这种情况下,一般不用担心,不会影响系统性能。

l  free:表示当前空闲的物理内存大小(以kB为单位)

l  buff:表示buffers cache的内存数量,一般对块设备的读写才需要缓冲。

l  cache:表示page cached的内存数量,一般作为文件系统cached,频繁访问的文件都会被cached。如果cache值较大,就说明cached的文件数较多。如果此时IO中bi比较小,就说明文件系统效率比较高。

swap:

l  si:表示由磁盘调入内存,也就是内存进入内存交换区的数量

l  so:表示由内存调入磁盘,也就是内存交换区进入内存的数量

一般情况下,si、so的值都为0,如果si、so的值长期不为0,则表示系统内存不足,需要增加系统内存。

io:显示磁盘读写状况

l  bi:表示从块设备读入数据的总量(即读磁盘)(每秒KB)

l  bo:表示写入块设备的数据总量(即写磁盘)(每秒KB)

这里设置的bi+bo的参考值为1000,如果超过1000,而且wa值较大,则表示系统磁盘IO有问题,应该考虑提高磁盘的读写性能。

system:显示采集间隔内发生的中断数

l  in:表示在某一时间间隔中观测到的每秒设备中断数

l  cs:表示每秒产生的上下文切换

cpu:

l  us:显示了用户进程消耗的CPU时间百分比。us的值比较高时,说明用户进程消耗的cpu时间比较多,但是如果长期大于50%,就需要考虑优化程序或算法。

l  sy:显示了系统内核进程消耗的CPU时间百分比。sy的值比较高时,说明内核消耗的cpu时间比较多。

根据经验,us+sy的值为80%,如果us+sy的值大于80%,就说明可能存在CPU资源不足的情况,这两个值越大,则由内核消耗的CPU时间就越多。

l  id:显示了CPU处在空闲状态的时间百分比

l  wa:显示了IO等待所占用的CPU时间百分比。wa值越高,说明IO等待越严重。根据经验,wa的参考值为20%,如果wa的值超过20%,就说明IO等待严重。引起IO等待的原因可能是磁盘大量随机读写造成的,也可能是磁盘或磁盘控制器的带宽瓶颈造成的(主要是块操作)。

综上所述,对CPU的评估中,需要重点注意的是procs项中的r值和cpu项中的us、sy和id值。

2、 sar监控CPU使用情况

【说明】:

l  %user:表示用户进程消耗的CPU时间百分比

l  %nice:表示运行正常进程所消耗的CPU时间百分比

l  %system:表示系统进行所消耗的CPU时间百分比

l  %iowait:表示io等待占用的CPU时间百分比

l  %steal:表示在内存相对紧张的环境下pagein强制对不同的页面进行的steal操作

l  %idle:表示CPU处在空闲状态的时间百分比。

对于多CPU系统,可以单独进行统计,如下图所示:

其中0表示第一个CPU进行统计,如对第二个CPU监控,则为1,依次类推。

3、 iostat监控CPU使用情况

iostat主要用于监控磁盘IO状态,也可以查看CPU的使用信息,局限性在于只能显示系统所有CPU的平均信息。

-c表示只显示系统cpu的统计信息

4、 uptime监控CPU使用情况

uptime主要用来统计当前的运行状况,输出的信息依次为系统现在的时间、系统从上次开机到现在运行了多长时间、系统目前有多少登录用户,系统在1分钟内、5分钟内、15分钟内的平均负载。如下图所示:

一般需要注意load average的值,这三个值不能大于CPU的个数,如果长期大于CPU个数,则说明CPU繁忙,负载很高,可能会影响系统性能。

【学习笔记】摘自《Linux服务器架设、性能调优、集群管理教程—实训与项目案例》

 

转载地址:http://ftdmf.baihongyu.com/

你可能感兴趣的文章
Play on Words UVA - 10129 (欧拉路径)
查看>>
mininet+floodlight搭建sdn环境并创建简答topo
查看>>
【linux】nohup和&的作用
查看>>
Set、WeakSet、Map以及WeakMap结构基本知识点
查看>>
【NLP学习笔记】(一)Gensim基本使用方法
查看>>
【NLP学习笔记】(二)gensim使用之Topics and Transformations
查看>>
【深度学习】LSTM的架构及公式
查看>>
【python】re模块常用方法
查看>>
剑指offer 19.二叉树的镜像
查看>>
剑指offer 20.顺时针打印矩阵
查看>>
剑指offer 21.包含min函数的栈
查看>>
剑指offer 23.从上往下打印二叉树
查看>>
Leetcode C++《热题 Hot 100-18》538.把二叉搜索树转换为累加树
查看>>
Leetcode C++《热题 Hot 100-21》581.最短无序连续子数组
查看>>
Leetcode C++《热题 Hot 100-22》2.两数相加
查看>>
Leetcode C++《热题 Hot 100-23》3.无重复字符的最长子串
查看>>
Leetcode C++《热题 Hot 100-24》5.最长回文子串
查看>>
Leetcode C++《热题 Hot 100-28》19.删除链表的倒数第N个节点
查看>>
Leetcode C++《热题 Hot 100-29》22.括号生成
查看>>
阿里云《云原生》公开课笔记 第二章 容器基本概念
查看>>