瓶颈分析

Top指令: CPU/内存情况

top
# top指令可以显示总体CPU占用率、内存使用率和交换情况,以及所有进程对应的CPU、内存占用情况

终端下使用该指令示例结果:

 

上图对一些重要的参数进行了简单标识,笔者这里使用的是XShell对远程Linux服务器进行连接和管理。
可以看到,在 top 指令返回的结果中,CPU和内存的占用信息都十分详细:

第一行中的Load Average则是Linux系统中任务调度队列里1分钟、5分钟与15分钟任务的负载(有关Linux系统任务调度相关内容可参阅高等教育出版社的《操作系统概念》);
第三行中用户模态和内核模态的分别占用率以及空闲CPU都反应了当前CPU的总体占用情况。I/O等待占CPU时间要注意,如果此项过高可能是I/O读写出现了故障或者瓶颈;
第四行是物理内存的使用情况,一般来说,内存根据实际需要配置,增添看当前是否够用,这方面没有什么技巧。
第五行是交换内存的使用情况。关于交换内存,首先,交换内存是指在等待或者被挂起的进程被交换到辅存(SSD、机械硬盘)。这样,能把空闲的进程腾出来,把空间让给更加活跃的进程。因此,交换内存的性能是低于物理内存的。当交换内存占用过大时,一方面可能是空闲进程多,还有一方面要注意的可能就是物理内存不够用,大量进程都被交换到了这里。
而下面的列表,则是各个进程的具体情况。比如,图中的php-fpm就反映了PHP的运行情况,同样还有mysqld可以反应MySQL数据库的运行情况

  

IOStat指令: 磁盘情况

iostat -d -k 2
# iostat主要用来显示磁盘IO情况,这里-d、-k、2是三个常加的参数:
#    -d   表示显示设备(磁盘)使用状态
#    -k   某些使用block为单位的列强制使用Kilobytes为单位
#    2    表示数据显示每隔2秒刷新一次。可以使用Ctrl+C来终止输出

终端下使用该指令示例结果:

如上图,命令执行后每两秒钟会向终端输出一次当前的I/O状况。这些数据的具体含义是:

tps:该设备每秒的I/O请求次数,即频率;
kB_read/s:每秒从设备读取的数据量;
kB_wrtn/s:每秒向设备写入的数据量;
kB_read:读取的总数据量;
kB_wrtn:写入的总数量数据量;

更高级的用法:

iostat -d -x -k 1 10
# 这里添加了几个参数 -x 与 1 后面的 10
#   -x       表示显示和io相关的扩展数据
#   1 10     1 表示每1秒刷新一次,1 后跟 10 表示一共输出10次数据
avgrq-sz:平均请求扇区的大小
avgqu-sz:是平均请求队列的长度。毫无疑问,队列长度越短越好。
await: 每一个IO请求的处理的平均时间(单位是微秒毫秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。这个时间包括了队列时间和服务时间,也就是说,一般情况下,await大于svctm,它们的差值越小,则说明队列时间越短,反之差值越大,队列时间越长,说明系统出了问题。
svctm:表示平均每次设备I/O操作的服务时间(以毫秒为单位)。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢。
%util: 在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

 

转载于:https://www.cnblogs.com/nr-zhang/p/10472021.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/425507.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java学习笔记11-2——Spring5

文章目录7.Bean的自动装配自动装配说明测试环境搭建byName(按名称自动装配)测试byName运行机制小结:byType(按类型自动装配)测试使用注解进行自动装配AutowiredQualifierResourceAutowired与Resource异同8.使用注解开发…

频率域平滑滤波器

频率域滤波增强方法 理想低通滤波器 理想低通滤波器(Ideal Lowpass Filters-ILPF) 尽管理想低通滤波器在数学上定义清楚,在计算机模拟中也可 实现,但在截止频率处直上直下的理想低通滤波器是不能用实际的 电子器件实现的。 理想滤波器有陡峭频率的截止…

[leetcode][JAVA]面试题第[1028]题[迭代]

【问题描述】[困难] 我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处,我们输出 D 条短划线(其中 D 是该节点的深度),然后输出该节点的值。(如果节点的深度为 D,则其直接子节点的…

频率域锐化滤波器

频率域锐化滤波器 (Frequency Sharpening Filters ) 图像的边缘、细节主要位于高频部分,而图 像的模糊是由于高频成分比较弱产生的。 频率域锐化就是为了消除模糊,突出边缘。 采用高通滤波器让高频成分通过,使低频成 …

6用NetBeans进行JSP开发

用NetBeans进行JSP开发 NetBeans

Java学习笔记12——JVM入门

文章目录JVM简介和体系结构JVM的位置JVM的体系结构类加载器双亲委派机制沙箱安全机制(了解即可)NativePC寄存器方法区栈三种JVM堆新生区永久区堆内存调优Jprofiler的使用GC(垃圾回收)引用计数法复制算法标记清除法标记压缩法GC算法…

[Leedcode][JAVA][第125题][验证回文串][双指针][String]

【问题描述】[简单] 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama" 输…

面向对象之:继承

一:什么面向对象的继承? 比较官方的说法就是: 继承(英语:inheritance)是面向对象软件技术当中的一个概念。如果一个类别A“继承自”另一个类别B,就把这个A称为“B的子类别”,而…

7用Eclipse进行JSP开发

用Eclipse进行JSP开发 Eclipse简介和下载 Eclipse的发展 什么是Eclipse Eclipse下载 用Eclipse进行JSP开发 软件环境配置 安装JDK,配置Java运行环境 安装Tomcat服务器(服务器能够正常启动和关闭) 安装Eclipse JSP开发

求递归算法时间复杂度:递归树

引用自:http://www.cnblogs.com/wu8685/archive/2010/12/21/1912347.html 递归算法时间复杂度的计算方程式一个递归方程: 在引入递归树之前可以考虑一个例子: T(n) 2T(n/2) n2 迭代2次可以得: T(n) n2 2(2T(n/4) (n/2) 2) 还…

[Leetcode][JAVA]第[29]题[两数相除][二分法]

【问题描述】[中等] 给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数 dividend 除以除数 divisor 得到的商。整数除法的结果应当截去(truncate)其小数部分,…

8.用MyEclipse进行JSP开发

用MyEclipse进行JSP开发

Java学习笔记13-1——SpringMVC

文章目录1.什么是MVC回顾Servlet2.什么是SpringMVC概述中心控制器SpringMVC执行原理3.第一个SpringMVC 程序使用XML配置实现使用注解实现4.控制器和RestFul风格控制器Controller实现Controller接口使用注解ControllerRequestMappingRestFul 风格扩展:小黄鸭调试法5.…

端口占用怎么查找

D:\Users\hp\Documents\NetBeansProjects\WebApplication1\nbproject\build-impl.xml:1030: Deployment error: Starting of Tomcat failed, the server port 8080 is already in use. netstat -aon|findstr "8080" 查看端口 查看端口的进程 记住3306 tasklist|fi…

eclipse没有server怎么办

1打开eclipse 找到help 2点开,查找 Install new software 二步、然后在Work with中点击Add,如下图所示,加入Name"Kepler" repository;Locationhttp://download.eclipse.org/releases/kepler。 3填写完成后使用add 4第…

zabbix利用SNMPTrap接收交换机主动告警

zabbix接收trap的工作流程: snmptrapd 收到trapsnmptrapd将trap传递给SNMPTT或调用Perl接收器SNMPTT或Perl trap接收器解析,格式化并将trap写入文件Zabbix SNMP trap读取并解析trap文件对于每个trap,Zabbix发现主机接口与接收的trap地址匹配的…

eclipse安装jsp

1打开window中preferences 2找到server下runningtime 3add 4选择 5加入 6找到 7建立一个新jsp文件

The Apache Tomcat installation at this directory is version,tomcat

The Apache Tomcat installation at this directory is version,tomcat版本号过高eclipse无法导入解决办法 找到tomcat安装位置进入lib目录 lib目录下有个catalina.jar 用解压缩软件打开 打开后 在catalina.jar\org\apache\catalina\util目…

9.JSP运行原理与JSP页面的基本结构

JSP运行原理与JSP页面的基本结构 HTML页面的基本构成 .代码中出现的几种标签 •单标签 某些标签只需单独使用就能完整地表达意思&#xff0c;控制网页 效果&#xff0c;这类标签的语法是&#xff1a; <标签> 双标签 标签成对使用&#xff0c;由一个开始标签和一个结…