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. 牛X的规则引擎urule2

    牛X的规则引擎urule2 教程:http://wiki.bsdn.org/pages/viewpage.action?pageId=75071499

  2. slf4j 作用及logback概述

    为什么要使用slf4j 现实场景: 我们自己的系统中使用了logback这个日志系统 我们的系统使用了A.jar,A.jar中使用的日志系统为log4j 我们的系统又使用了B.jar,B.jar中使用 ...

  3. Mysql在linux下载、安装详情,附带mysql安装包路径

    对mysql在linux的安装网上很多,但是都比较坑人,mysql的下载.到用什么包安装,安装过程没有具体解析 我最痛苦的其实是找安装包,建议找.tar.gz安装包比较好(下面我为同胞们找到了mysq ...

  4. KMP算法理解(转)

    (作者matrix67) KMP算法是拿来处理字符串匹配的.换句话说,给你两个字符串,你需要回答,B串是否是A串的子串(A串是否包含B串).比如,字符串A="I'm matrix67&quo ...

  5. git使用总结(包含git commit message 和 changelog 工具的介绍)

    [git的配置] 1.配置用户名和邮箱: 分为全局配置和局部配置 --system 系统配置  --global 全局配置    --local 局部配置 Git读取时:优先从local>glo ...

  6. 【转载】H5页面列表的无线滚动加载(前端分页)

    本代码基于Vue的架构 1.首先,要滚动的内容放在一个‘id=box’ 的div里,对div进行scroll事件的监听 <div id="box" class="m ...

  7. .36-浅析webpack源码之Parser类

    眼看webpack4都出了,我还在撸3的源码,真的是捉急啊…… 不过现在只是beta版本,等出稳定版本后跑跑4的源码去. 之前漏了一个东西没有讲,如下: asyncLib.parallel([/**/ ...

  8. EF批量操作数据与缓存扩展框架

    前言 在原生的EF框架中,针对批量数据操作的接口有限,EF扩展框架弥补了EF在批量操作时的接口,这些批量操作包括:批量修改.批量查询.批量删除和数据缓存,如果您想在EF中更方便的批量操作数据,这个扩展 ...

  9. 排查CentOS7.0的联网情况

    1.ifconfig命令. 查看网络配置是否有问题 在/etc/sysconfig/network-scripts/ifcfg-ens33里面配置好网络,记住onboot=on这个选项一定要设置,不然 ...

  10. Beans Game(博弈 | | DP)zoj 3057

    Beans Game Time Limit: 5 Seconds Memory Limit: 32768 KB There are three piles of beans. TT and DD pi ...