LinuxCPU性能工具总结】的更多相关文章

一.根据性能指标找工具 二.根据工具查性能指标…
l  Linux性能工具介绍 p  CPU高 p  磁盘I/O p  网络 p  内存 p  应用程序跟踪 l  操作系统与应用程序的关系比喻为“唇亡齿寒”一点不为过 l  应用程序的性能问题/功能问题,除了使用在线调试.日志以外,操作系统提供了丰富的工具让你透视应用程序,问题定位分析的效率更高 l  介绍Linux工具使用资料很多,这里不介绍工具使用,而是告诉工具背后数字的含义,以及我们平时对工具输出常见的误解 CPU高-uptime l  uptime和top命令都会显示最近1分钟.5分钟.…
简介 sar是一款在linux下的性能工具,可以观察到CPU,内存,IO,运行队列,每秒上下文切换等信息. 软件工具安装 #Ubuntu sudo apt-get install sysstat # CentOS yum install sysstat # CentOS rpm -ivh sysstat--.i586.rpm 源码安装 #Download wget http://pagesperso-orange.fr/sebastien.godard/sysstat-10.0.0.tar.bz…
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别对整个系统的性能做统计,而进程级别则具体到进程,为每个进程维护统计信息. 按实现原理分,可分为基于计数器和跟踪以及剖析.含义如下: 计数器:内核维护的统计数据,通常为无符号整型,用于对发生的事件计数,比如,网络包接收计数器,磁盘IO计数器等. 跟踪:跟踪会收集每一个事件的具体数据,由于跟踪捕获事件数据需要消耗CPU且需要较大的存储空间储存收集数据,默认不开启.日志就是一种低频率的跟踪,会记录事件数据. 剖析:对目标采样或快照来归纳目标…
8.1性能工具助手 Linux有丰富的工具,这些工具组合来使用会更加强大.性能工具也一样,单独使用虽然也没有问题,但是和其他的工具组合起来就能显著提高有效性和易用性. 8.1.1 自动执行和记录命令 如同前面章节所述,性能调查最有价值的步骤之一就是保存在调查过程中发出的命令和产生的结果.Linux提供了两个命令:tee和script,前者能够将工具的输出保存为文件,后者能记录每个按键和屏幕上的每一个输出.这些信息保存下来,便于以后的查看. 自动执行命令很重要,因为它可以减少出错的机会,是你在思考…
7.1 网络I/O介绍 Linux和其他主流操作系统中的网络流量被抽象为一系列的硬件和软件层次. 链路层,也就是最低的一层,包含网络硬件,如以太网设备.在传送网络流量时,这一层并不区分流量类型,而仅仅以尽可能快的速度发送和接收数据(帧). 链路层上面是网络层.这一层使用IP协议和ICMP协议在机器间寻址并路由数据包.IP/ICMP尽其最大努力尝试在机器之间传递数据包,但是它们不能保证数据包是否能真正达到其目的地. 网络层上面是传输层,它定义了TCP和UDP.TCP是可靠的协议,它保证消息通过网络…
5.1 Linux内存子系统 在诊断内存性能问题的时候,也许有必要观察应用程序在内存子系统的不同层次上是怎样执行的.在顶层,操作系统决定如何利用交换内存和物理内存.它决定应用程序的哪一块地址空间将被放到物理内存中,即所谓的驻留集.不属于驻留集却又被应用程序使用的其他内存将被交换到磁盘.由应用程序决定向操作系统请求多少内存,即所谓的虚拟集. 当应用程序使用物理内存时,它首先与CPU的高速缓存子系统交换.现代CPU有多级高速缓存.最快的高速缓存离CPU最近(L1),其容量也是最小的.举个例子,假设C…
6.1 磁盘I/O介绍 一般来说,Linux磁盘的每个分区要么包含一个文件系统,要么包含一个交换分区.这些分区被挂载到Linux根文件系统,该系统由/etc/fstab指定.这些被挂载的文件系统包含了应用程序要读写的文件. 当一个应用程序进行读写时,Linux内核可以在其高速缓存或者缓冲区中保存文件的副本,并且可以在不访问磁盘的情况下返回被请求的信息.但是,如果Linux内核没有在内存中保存数据副本,那它就向磁盘I/O队列添加一个请求.若Linux内核注意到多个请求都指向磁盘内相邻的区域,它会把…
2.1 CPU性能统计信息 2.1.1运行队列统计 在Linux中,一个进程要么是可运行的,要么是阻塞的(正在等待一个事件的完成).阻塞进程可能在等待从I/O设备来的数据,或者是系统调用的结果如果一个进程是可运行的,那就意味着它要和其他可运行的进程竞争CPU时间.一个进程不一定会使用CPU,但是当Linux调度器决定从下一要运行的进程时,它会从可运行进程队列中挑选.如果进程是可运行的,同时又在等待使用处理器,这些进程就构成了运行队列.运行队列越长,处于等待的进程就越多. 性能工具通常会给出可运行…
3.1内存性能统计信息 3.1.1 内存子系统和性能 和CPU相比,内存的读写速度都大大落后于CPU.为了弥补这个差距,通常CPU会采用高速缓存的机制(高cache). 3.1.2 内存子系统(虚拟存储器) 在物理内存寻址时,Linux将其分成块或者内存“页”.内存页面过小,会造成管理内存时产生大的花销:内存页面大时,则容易造成内存的浪费. l  交换(物理内存不足) 内存的大小是固定的,当内存不够用时,内核会使用硬盘作为临时存储器,这个硬盘空间称为交换分区(swap space). 交换分区确…
前言 在实际开发中,有时候会收到一些服务的监控报警,比如CPU飙高,内存飙高等,这个时候,我们会登录到服务器上进行排查.本篇博客将涵盖这方面的知识:Linux性能工具. 一次线上问题排查模拟 背景:服务在平稳运行一段时间后,CPU突然飙高. top 通过top命令,可以确认下,到底是哪个进程导致CPU飙高了(也许是误报呢?). 可以看到图中PID是2816的进程,CPU使用率非常高. 查看进程下的线程信息 使用top -Hp 2816来对进程下的线程进行观察.图中可以发现,2825这个线程CPU…
SQL优化是一个复杂的工程,首先要讲究从整体到局部.今天我们首先学习关于数据库整体优化都有哪些性能工具,接着分析这些工具的特点,并结合案例进行探索,最后再进行总结和思考. 总体学习思路如下图所示: 都有哪些性能工具 这里首先要分成两部分:一种是不同调优场景的分析,可分为单纯场景的优化和复杂场景的优化:而另一种是基于这些场景的工具应用,就是针对单纯场景的优化手段和复杂场景的优化手段. 1.不同调优场景分析 我们继续探讨,单纯是有多单纯呢?哦,其实可以理解为无菌真空实验室里的实验.比如一条SQL很慢…
Linux 常用性能工具简介. 一.wget 文件下载 使用wget下载单个文件:wget URL 下载并以不同的文件名保存:wget -O wordpress.zip URL wget限速下载:wget --limit-rate=300k URL 使用wget断点续传:wget -c URL 使用wget后台下载:wget -b URL (查看下载进度:tail -f wget-log) 测试下载链接:wget --spider URL 下载指定格式文件:wget -r -A.pdf URL…
本节大纲 Jmeter 发送get/post请求 Jmeter 之文件参数化-TXT/Csv Jmeter之文件参数化-断言 JMeter简介 Apache JMeter是一款基于JAVA的压力测试T具编写负载功能测试和性能测试开源工具软件. Apache jmeter可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java对象,数据库和查询,FTP服务器等等)的性能进行测试.它可以用于对服务器.网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能.你可以使用…
官网下载最新性能工具 stream 最新版本5.10 https://github.com/jeffhammond/STREAM 官网下载最新性能工具 stream 最新版本5.10   http://www.cs.virginia.edu/stream/ref.html The STREAM benchmark is a simple synthetic benchmark program that measures sustainable memory bandwidth (in MB/s)…
引言 我前几天写过的性能工具之linux三剑客awk.grep.sed详解,我们已经详细介绍 linux 三剑客的基本使用,接下来我们看看具体在性能测试领域的运用,本文主要介绍的是在 Tomcat 和 Nginx access日志的统计分析. Tomcat统计请求响应时间 server.xml 使用配置方式,%D-请求时间,%F响应时间 <Valve className="org.apache.catalina.valves.AccessLogValve" directory=&…
Yslow是雅虎开发的基于网页性能分析浏览器插件,从年初我使用了YSlow后,改变了博客模板大量冗余代码,不仅提升了网页的打开速度,这款插件还帮助我分析了不少其他网站的代码,之前我还特意写了提高网站速度的秘籍,就是通过这款插件分析得出的.网络上已经有不少Yslow使用说明了,本文我想介绍下我使用Yslow的方法和一些别人没提到的小技巧. Yslow的安装方法 现在Yslow已经有很多版本了,本文介绍的是3.0.4最新版,打开Yslow官网就能看到有四个版本可供选择:火狐(firefox)浏览器.…
数据采集 游戏中使用控制台命令来采集脚本函数性能数据 ProfileGame Start  // 开始捕获性能数据 ProfileGame Stop  // 停止捕获并保存数据文件,并保存到[GameName]\Profiling\T-YYYY.MM.DD-hh.mm.ss.gprof文件中 ProfileGame 15  // 开始捕获一个时长为15s的性能数据到[GameName]\Profiling\T-YYYY.MM.DD-hh.mm.ss.gprof文件中 基本概念 Time Thre…
4.1进程性能统计信息 4.1.1. 内核时间VS用户时间 一个应用程序所耗时间最基本的划分是内核时间与用户时间.内核时间是消耗在Linux内核上的时间,而用户时间则是消耗在应用程序或库代码上的时间.Linux有工具,如time和ps,可以(大致)表明应用程序将其时间花费在应用程序代码上还是话费在内核代码上. 4.1.2 库时间VS应用程序时间 任何应用程序,即便其复杂性非常低,也需要依赖系统库才能执行复杂的操作.这些库可能导致性能问题,因此,能够查看应用程序在某个库中花费了多少时间很重要了.在…
什么是Zipalign?      Zipalign是一个android平台上整理APK文件的工具,它首次被引入是在Android 1.6版本的SDK软件开发工具包中.它能够对打包的Android应用程序进行优化, 以使Android操作系统与应用程序之间的交互作用更有效率,这能够让应用程序和整个系统运行得更快.用Zipalign处理过的应用程序执行时间达到最低限度,当设备运行APK应用程序时占更少的RAM(Random Access Memory)随机访问内存,我们强烈推荐在新的和已经发布的程…
Brendan Gregg 目前是 Netflix 的高级性能架构师 ,他在那里做大规模计算机性能设计.分析和调优.他是<Systems Performance>等技术书的作者,因在系统管理员方面的成绩,获得过 2013年 USENIX LISA 大奖.他之前是 SUN 公司是性能领头人和内核工程师,他在 SUN 开发过 ZFS L2ARC,研究存储和网络性能.他也发明和开发过一大波性能分析工具,很多已集成到操作系统中了 .他的最近工作包括研究性能分析的方法论和可视化,其目标包括Linux内核…
mysqlslap mysqlslap可以模拟服务器的负载,并输出计时信息.它包含在MySQL 5.1 的发行包中,应该在MySQL 4.1或者更新的版本中都可以使用.测试时可以执行并发连接数,并指定SQL 语句(可以在命令行上执行,也可以把SQL 语句写入到参数文件中).如果没有指定SQL 语句,mysqlslap 会自动生成查询schema 的SELECT 语句. MySQL Benchmark Suite (sql-bench) 在MySQL 的发行包中也提供了一款自己的基准测试套件,可以…
工具介绍 TProfiler是一个可以在生产环境长期使用的性能分析工具.它同时支持剖析和采样两种方式,记录方法执行的时间和次数,生成方法热点 对象创建热点 线程状态分析等数据,为查找系统性能瓶颈提供数据支持. TProfiler在JVM启动时把时间采集程序注入到字节码中,整个过程无需修改应用源码.运行时会把数据写到日志文件,一般情况下每小时输出的日志小于50M. 业界同类开源产品都不是针对大型Web应用设计的,对性能消耗较大不能长期使用,TProfiler解决了这个问题.目前TProfiler已…
系统级别: 下面这些工具利用内核的计数器在系统软硬件的环境中检查系统级别的活动. vmstat: 虚拟内存和物理内存的统计,系统级别. mpstat: 每个CPU 的 使用情况. iostat: 每个磁盘I/O 使用情况,由块设备接口报告. netstat: 网络按口的统计,TCP/IP栈的统计,以及每个连按的一些统计信息. sar: 各种各样的统计,能归档历史数据. 进程级别 : 下面这些工具是以进程为导向的,使用的是内核为每个进程维护的计数器. PS: 进程状态,显示进程的各种统计信息,包括…
Optimizing Your UI In this document Using Hierarchy Viewer Running Hierarchy Viewer and choosing a window About the View Hierarchy window Working with an individual View in Tree View  当点击一个节点时,显示出来view详细信息,其中各字段的含义. Debugging with View Hierarchy Opti…
  stress是一个在linux下的压力测试小工具. 我看到有些人用这个工具来描述一些资源耗尽的场景,也有人用它来做混沌测试中.请使用者要注意,这个工具并不是模拟业务问题的,是模拟系统级问题的.所以用它来模拟的时候,和业务真实场景差别还是很大的. 因为在性能工作中,经常有人因为不理解工具而误用工具,所以这里我把这个工具拿出来说明一下. (像这种我觉得没有自己思考的文章,就不设置付费了.) 安装stress yum install -y stress stress参数 [root@7DGroup…
前言 linux 有很多工具可以做文本处理,例如:sort, cut, split, join, paste, comm, uniq, column, rev, tac, tr, nl, pr, head, tail.....,学习 linux 文本处理的懒惰方式(不是最好的方法)可能是:只学习grep,sed和awk. 使用这三个工具,你可以解决近 99% linux 系统的文本处理问题,而不需要记住上面不同的命令和参数. 而且,如果你已经学会并使用了三者,你就会知道其中的差异.实际上,这里的…
前言 做性能的同学一定遇到过这样的场景:应用级别的性能测试发现一个操作的响应时间很长,然后要花费很多时间去逐级排查,最后却发现罪魁祸首是代码中某个实现低效的底层算法.这种自上而下的逐级排查定位的方法,效率通常都很低,代价也很高.所以,我们就需要在项目早期,对一些关键算法进行代码级别的性能测试,以防止此类在代码层面就可以被发现的性能问题,遗留到最后的系统性能测试阶段才被发现.但是,从实际执行的层面来讲,代码级性能测试并不存在严格意义上的测试工具,通常的做法是:改造现有的单元测试框架. 而最常使用的…
JuiceFS 是一款面向云原生环境设计的高性能 POSIX 文件系统,在 AGPL v3.0 开源协议下发布.作为一个云上的分布式文件系统,任何存入 JuiceFS 的数据都会按照一定规则拆分成数据块存入对象存储(如 Amazon S3),相对应的元数据则持久化在独立的数据库中.这种结构决定了 JuiceFS 的存储空间可以根据数据量弹性伸缩,可靠地存储大规模的数据,同时支持在多主机之间共享挂载,实现跨云跨地区的数据共享和迁移. 从 v0.13 发布以来, JuiceFS 新增了多项与性能监测…
一.wget 文件下载 使用wget下载单个文件:wget URL 下载并以不同的文件名保存:wget -O wordpress.zip URL wget限速下载:wget --limit-rate=300k URL 使用wget断点续传:wget -c URL 使用wget后台下载:wget -b URL (查看下载进度:tail -f wget-log) 测试下载链接:wget --spider URL 下载指定格式文件:wget -r -A.pdf URL FTP下载:wget --ftp…