目录

系统负荷(load average)

CPU、内存使用情况(vmstat)

磁盘IO(iostat、iotop)

网络IO(iftop)


系统负荷(load average)


查看系统负荷命令:
## 查看系统负载
uptime

输出:

11:54:03 up 759 days, 12:59, 212 users,  load average: 21.52, 18.95, 22.02

其中 load average就是“系统的平均负荷”。这三个数字分别是 1分钟、5分钟、15分钟内系统的平均负荷。

判断系统负荷情况:

系统所能承受的负荷最大值 = 总逻辑核心数

每个逻辑核的平均负荷值(V) = 系统平均负荷值 / 总逻辑核心数

  • 如果 1分钟的系统负荷 V 大于 1.0,其它两个时间都小于 1.0,表明这只是暂时现象,问题不大。
  • 如果 15分钟的系统负荷 V 大于 1.0,说明该现象一直存在,需要解决问题,把该值降下来。
  • 当 V 值大于 0.7 时,就要引起关注,必须排查问题,防止情况恶化。

CPU、内存使用情况(vmstat)


## 1秒打印一次,一共打印5次
vmstat 1 5

输出:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
  • r:表示运行的进程数量(建议值不要大于逻辑cpu核数)

  • b:表示阻塞的进程数量

  • si:每秒从磁盘读取虚拟内存的大小(如果大于 0,表示物理内存不够用)

  • so:每秒虚拟内存写入磁盘的大小

  • bi:块设备每秒接收的块数量

  • bo:块设备每秒发送的块数量

  • in:每秒cpu的中断次数,包括时间中断

  • cs:每秒上下文切换次数(包括:函数调用、线程切换),该值越小越好

  • us:用户(用户程序)cpu时间

  • sy:系统(内核程序)cpu时间

  • id:cpu处于空闲时间的比例

  • wa:cpu等待IO时间的比例

  • st:丢失时间,也就是虚拟cpu等待实际cpu的时间百分比

磁盘IO(iostat、iotop)


## 1秒打印一次,一共打印5次
iostat -x 1 5

输出:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle8.18    0.00    2.51    4.20    0.00   85.12
Device    r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
  • r/s:delta(rio)/s,每秒完成的读 I/O 设备次数

  • w/s:delta(wio)/s,每秒完成的写 I/O 设备次数

  • rsec/s:delta(rsect)/s,每秒读扇区数

  • wsec/s:delta(wsect)/s,每秒写扇区数

  • rkB/s:每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节(需要计算)

  • wkB/s:每秒写K字节数。是 wsect/s 的一半(需要计算)

  • rrqm/s:delta(rmerge)/s,每秒进行 merge 的读操作数目

  • wrqm/s:delta(wmerge)/s,每秒进行 merge 的写操作数目

  • %rrqm:读请求在merge后占merge前的百分比

  • %wrqm:写请求在merge后占merge前的百分比

  • r_await:每个读操作平均所需的时间。不仅包括硬盘设备读操作的时间,还包括了在kernel队列中等待的时间

  • w_await:每个写操作平均所需的时间。不仅包括硬盘设备写操作的时间,还包括了在kernel队列中等待的时间

  • aqu-sz:平均请求队列长度

  • rareq-sz:平均读请求的大小

  • wareq-sz:平均写请求的大小

  • avgrq-sz:平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)

  • avgqu-sz:平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。

  • await:平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)

  • svctm:平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)

  • %util:一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)

如果 %util 接近 100,说明 IO请求太多,IO系统已经满负荷,该磁盘可能存在瓶颈。
也可以使用 iotop 查看进程的磁盘IO:
## 按 p 键把TID变成PID,按 o 键显示当前活跃的进程
iotop

输出:

PID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND

网络IO(iftop)


查看进程的网络IO:
## 查看网络的使用情况
iftop -n## 查看某个IP的连接,找到连接对应的PID(进程id),也就是该进程对应的网络IO
netstat -antop |grep 10.0.0.1

输出:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name     Timer

Linux-系统性能指标相关推荐

  1. linux 系统性能指标采样脚本

    以下脚本写于redmine性能排查时,用于定位系统性能瓶颈的采样,源地址为~/performanceLog/collectLog.sh中,计划放入github的代码片段库中. 注: 如果mysql的地 ...

  2. 【转载】Linux系统与性能监控

    原文: Linux System and Performance Monitoring Darren Hoch 译:Roger 这是[叔度]给我的一篇非常不错的关于Linux性能监控的文档,可惜是英文 ...

  3. Linux系统与性能监控

    原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...

  4. 1 理解Linux系统的“平均负载”

    什么是平均负载 我们知道使用top或uptime可以用来了解系统的负载情况. uptime 2 02:34:03 up 2 days, 20:14, 1 user, load average: 0.6 ...

  5. linux cpu平均负载,关于linux系统CPU篇---平均负载

    1.什么是平均负载?(load average) 平均负载是指单位时间内平均活跃进程数,包括可运行状态的进程数,以及不可中断状态的进程(如等待IO,等待硬件设备响应) 2.如何查看平均负载? 使用to ...

  6. 嵌入式Linux系统基础知识

    一.嵌入式Linux系统的构成 1.硬件 2.内核 3.应用程序(形成根文件系统) 二.构建嵌入式Linux系统的主要任务 1.内核部分 2.应用程序部分 嵌入式Linux的开发大致可分为三个层次:引 ...

  7. linux 使cpu使用率升高_关于linux系统CPU篇---gt;CPU使用率升高

    1.CPU使用率为单位时间内CPU使用情况的统计,以百分比的方式展示. LINUX作为一个多任务操作系统,将每个CPU的时间划分为很短的时间片,再通过调度器轮流分配给各个任务使用,因此造成多任务同时运 ...

  8. linux系统监控命令

    为什么80%的码农都做不了架构师?>>>    ps命令 命令:ps -mp pid -o THREAD,tid,time   或者  ps -Lfp pid 结果展示: 这个命令的 ...

  9. Linux系统检测工具

    通过检测系统,可以获取一些基准数据,进行分析,根据不同的业务特点系统不同组件的压力,可以有cpu密集型,内存密集型,网络吞吐密集性型,io密集型 一  系统检测工具 Free,Top,ps,Vmsta ...

  10. Linux 系统日常运维九大技能和运维网络知识总结

    一.Linux 系统日常运维九大技能 1.安装部署 方式:U盘,光盘和网络安装 其中网络安装已经成为了目前批量部署的首选方式:主要工具有Cobbler和PXE+kickstart 可以参考如下链接内容 ...

最新文章

  1. 大学mysql教程_MYSQL教程:新手该看的MYSQL操作
  2. java猜拳_求一个java猜拳游戏程序
  3. docker深入1-导入导出images和container的方式
  4. 要重复多少次变成潜意识_说了多少次了!通过学校区域一定要......
  5. ArrayBlockingQueue跟LinkedBlockingQueue的区别
  6. No.10 awk、变量、运算符、if多分支
  7. CheckBoxList 全选(jquery版本)
  8. 开源开放 | 中国近代历史人物知识图谱
  9. Problem 71:Ordered fractions
  10. 如何解决arcmap中的反走样问题。
  11. 【15年浙江省赛 C ZOJ 3871】Convex Hull【极角排序】
  12. golang(4)使用beego + ace admin 开发后台系统 CRUD
  13. AV1代码学习:av1_encode_strategy、denoise_and_encode、av1_encode函数
  14. 吹响数字经济时代的冲锋号 2021宝德X86生态伙伴大会在深召开
  15. 全球及中国水解蚕丝蛋白行业研究及十四五规划分析报告
  16. 你期待的Domino V12有什么?
  17. 开源ERP Tryton 的用户权限管理
  18. m1卡工作原理和相关总结
  19. TP6安装使用easywechat
  20. 4 万字超强总结!Java 这些必备基础知识不可少

热门文章

  1. Effective C++ 读书笔记之Part4.Design and Declarations
  2. VS2010 + OpenCV2.3配置 ; 在VS2010下安装配置OpenCV2.3 ; 全程截图,绝对能配置好,不能的留言!...
  3. SpringBoot RestFul风格API接口开发
  4. 20180929 北京大学 人工智能实践:Tensorflow笔记04
  5. nodefs模块的使用demo
  6. 01.26 小组功能初步总结
  7. 设计模式之模板方法模式(Template)
  8. Android开发——搭建最新版本的Android开发环境
  9. 2016/06/11
  10. 刚写完的商城erp + 这个商城前台,新鲜出炉。自己1个人写, 包括php框架和前端html页面....