Guider是一个免费且开源的,功能强大的全系统性能分析工具,主要以Python for Linux 操作系统编写。

它旨在衡量系统资源使用量并跟踪系统行为,从而使其可以有效分析系统性能问题或进行性能调整。

它显示了大量有关 CPU,内存,每个线程的磁盘使用率,进程,系统功能(用户/内核)的信息。 因此可以非常简单地了解导致系统性能异常或改善整体系统性能的问题。

系统要求

  • Linux 内核(> = 3.0)
  • Python(> = 2.7)
  • 内核缓冲区大小为 40960。

在本文中,我们将向您展示如何从源代码安装 guider,并使用它来分析和提高 Linux 操作系统的整体性能。

如何构建和安装 Guider – Linux 性能分析器

要在 Linux 上安装Guider ,首先如图所示从 github 克隆 guider 存储库。

  1. $ git clone https://github.com/iipeace/guider.git
  2. $ cd guider
  3. $ guider.py [Run without installing]

您可以运行guider.py而不安装它。 或者,您可以运行下面的命令来构建和安装它,如图所示。

  1. $ make
  2. $ sudo make install

如果您可以在系统中使用PIP ,请使用以下命令进行安装。

  1. $sudo pip install --pre guider

如何使用 Guider 分析 Linux 系统的性能

默认情况下,guider 应该为其操作设置缓冲区大小。 但是,如果它没有这样做,并且一旦你调用它就会显示一个错误,你可以用这个命令检查你的缓冲区大小。

  1. $ sudo cat /sys/kernel/debug/tracing/buffer_size_kb

如果该值小于40960 ,则将其设置为所需值,如下所示。

  1. $ echo 40960 | sudo tee /sys/kernel/debug/tracing/buffer_size_kb

设置 Linux 内核缓冲区大小

您可以使用以下语法在线程,函数,顶层,文件和系统模式中调用引导程序。

  1. $ guider [ mode | file ] [options]

与大多数基于 Linux 系统性能分析工具的命令行一样,您需要更宽的屏幕才能清楚地查看引导程序的输出。

在线程模式下执行 CPU 使用率分析

以下命令将在线程模式下开始准确的跟踪(按[Ctrl+c]终止跟踪过程)。 一旦你终止了这个过程,它会保存数据并开始分析过程,然后在那里显示分析报告。

  1. $ sudo guider record

线程模式下的 CPU 跟踪

分析报告包括一般系统信息,操作系统信息,CPU 信息,内存信息,磁盘信息以及寻呼机末尾的线程信息。 只需使用UpDown箭头UpDown滚动寻呼机。

Linux 系统信息

在顶层模式下执行实时 Linux 监控

以下命令将实时显示 Linux 进程的资源使用情况。

  1. $ sudo guider.py top

实时 Linux 进程监视

您可以使用-i开关设置显示输出的时间间隔,如图所示。

  1. $ sudo guider top -i 2

要监视有关资源使用情况的所有信息,请使用-a标志。

  1. $ sudo guider top -a

使用 PID 分析单个 Linux 进程

首先使用pidof或 ps 命令获取进程 ID。

  1. $ pidof apache2
  2. OR
  3. $ ps -e | grep apache2

然后使用以下命令分析其资源使用情况,该命令可以实时输出 CPU 周期,指令编号,IPC,故障,缓存缺失,分支丢失等等。 -g开关设置一个过滤器,在这种情况下是过程 ID。

  1. $ sudo guider top -eP -g 1913

监视 Apache 进程使用情况

保存指南输出到文件

您还可以将跟踪数据或任何输出保存到文件中以供日后分析。 以下命令将跟踪数据保存在当前目录下名为guider.dat的文件中(默认情况下),您也可以指定不同的位置。

  1. $ sudo guider -s .

将当前目录中名为guider.out的文件(默认情况下)保存为其他任何输出。

  1. $ sudo guider top -o .

然后你可以通过 cat 命令来检查这些文件。

  1. $ cat guider.dat
  2. $ cat guider.out

我们不能用尽所有可能的选择,因为选项列表是无止境的。 您可以从 guider 帮助页面查看所有选项和更多用法示例。

  1. $ guider -h

指南 Github 存储库: https : //github.com/iipeace/guider

结论

Guider是面向未来的全系统性能分析工具。 它适用于 Linux 专家。

guider – 全系统Linux性能分析器的更多相关文章

  1. 【转载,整理】Linux性能监控

    一. 比较全的linux性能检测网站 1. 很好的网站,原文:http://os.51cto.com/art/201402/430050.htm 监测 cpu.内存.网络.IO等命令及工具   2.  ...

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

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

  3. Linux系统与性能监控

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

  4. (转)超全整理!Linux性能分析工具汇总合集

    超全整理!Linux性能分析工具汇总合集 原文:http://rdc.hundsun.com/portal/article/731.html 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望, ...

  5. Linux性能优化 第二章 性能工具:系统CPU

    2.1 CPU性能统计信息 2.1.1运行队列统计 在Linux中,一个进程要么是可运行的,要么是阻塞的(正在等待一个事件的完成).阻塞进程可能在等待从I/O设备来的数据,或者是系统调用的结果如果一个 ...

  6. Linux系统和性能监控之CPU篇

    Linux系统和性能监控之CPU篇 性能优化就是找到系统处理中的瓶颈以及去除这些的过程.本文由sanotes.net站长tonnyom在2009年8月翻译自Linux System and Perfo ...

  7. 超全整理!Linux性能分析工具汇总合集

    转自:http://rdc.hundsun.com/portal/article/731.html?ref=myread 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章. ...

  8. Linux的系统级性能剖析工具-perf

    一直在找个靠谱且易用的性能分析工具,perf 貌似是很符合要求的,先给出阿里整理的几篇文档: Linux的系统级性能剖析工具-perf-1.pdf Linux的系统级性能剖析工具-perf-2.pdf ...

  9. 【No.1】监控Linux性能25个命令行工具

    如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?通过以下命令或者工具可以快速定位 top vmstat lsof tcpdump netsta ...

随机推荐

  1. 如何去破解所有的window和offices(超级全面)

    破解所有的Windows和Offices by方阳 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7107666.html  摘 ...

  2. java8 Stream使用案例

    1. 原理 Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的 Iterator. 原始版本的 Iterator,用户只能显式地一个一个遍历元素并对其执 ...

  3. PHP7最高性能优化建议

    PHP7已经发布了, 作为PHP10年来最大的版本升级, 最大的性能升级, PHP7在多放的测试中都表现出很明显的性能提升, 然而, 为了让它能发挥出最大的性能, 我还是有几件事想提醒下. PHP7 ...

  4. 呼叫WCF Service的方法出现Method not allowed异常

    asp.net mvc练习程序,经常性在家里电脑,笔记本或是公司的电脑之间拷贝与粘贴,如果忘记携带最新的练习程序,一些小功能只能重新写了.如前一篇<ASP.NET MVC呼叫WCF Servic ...

  5. 乱糟unity整理

    当Canvas上的UI元素变化时,会重新生成网格并向GPU发起绘图调用,从而显示UI.划分画布:1.每块画布上的元素都与其他画布的元素相隔离,使用?工具来切分画布?,从而解决ui的批处理问题.2.也可 ...

  6. PHP错误集锦

    错误原因:分页数据不够,使用了缓存,但是model类中又没有添加缓存.解决办法:在model类中添加缓存,内容结束时清空缓存.

  7. Java的策略模式

    策略模式也是我们经常使用的模式,它的定义如下:将可变的部分从程序中抽象分离出来成为算法接口,在该部分下分别封装一系列算法实现并使它们可以相互替换. 举个例子,我们现在有三种支付方式:支付宝支付,微信支 ...

  8. Java - "JUC" CyclicBarrier源码分析

    Java多线程系列--“JUC锁”10之 CyclicBarrier原理和示例 CyclicBarrier简介 CyclicBarrier是一个同步辅助类,允许一组线程互相等待,直到到达某个公共屏障点 ...

  9. EF数据库优先模式(二)

    接着上一节的内容,建立好EF数据模型(DataFirst)之后,创建一个借口类,将公用的借口放到接口类里面 public interface IObjectLoader<T,TM> {  ...

  10. Code Signal_练习题_alphabeticShift

    Given a string, replace each its character by the next one in the English alphabet (z would be repla ...