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. dubbo + zookeeper 简介和部署

    Dubbo简介: Dubbo 是阿里巴巴公司开源(以前不开源)的一个高性能优秀的服务框架, 使得应用可通过高性能的 RPC 实现服务的输入和输出功能, 可以和spring框架无缝集成. 那么这里, 啥 ...

  2. mysql pdo设置显示报错

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    

  3. Lambda 遍历

    遍历列表元素 using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...

  4. Font Awesome(一套很棒的图标库)

    Font Awesome 是一个非常方便的图标库.这些图标都是矢量图形,被保存在 .svg 的文件格式中.这些图标就和字体一样,你可以通过像素单位指定它们的大小,它们将会继承其父HTML元素的字体大小 ...

  5. ffplay源码分析7-播放控制

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10316225.html ffplay是FFmpeg工程自带的简单播放器,使用FFmpeg ...

  6. [转]Linux 微擎系统搭建

    本文转自:https://www.cnblogs.com/voidking/p/5296552.html 前言 时隔一年半,再次接触微信公众平台开发.相比于掌上大学.圈里.微站ABC.图灵机器人.小i ...

  7. sqlserver查询连续签到天数

    create table #t(keyId int identity,actionDate datetime)insert into #t(actionDate) select distinct Cr ...

  8. Android studio删除工程项目

    本新手最近学Android都是用的eclipse.其实个人觉得eclipse不错,可能接触Android不久,倒也不觉得它慢还是怎样.对于Google的Android studio也是早有耳闻,前两天 ...

  9. office web app server部署和简单操作

    部署环境:windows server 2012 R2,服务器在AD域中 参考网址: https://msdn.microsoft.com/zh-cn/magazine/jj219455(office ...

  10. Jquery操作样式

    1.CSS(name,value) 修改单个样式 $(function(){ $(".divcontent").css("background","r ...