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. tensorflow 在同一个GPU同时加载多张相同的图

    saver = self.tf_instance.train.Saver() self.sess = self.tf_instance.Session(config=sess_config, grap ...

  2. 单例模式——java设计模式

    单例模式 目录: 一.何为单例 二.使用Java EE实现单例模式 三.使用场景 一.何为单例 确保一个类只有一个实例,并且提供了实例的一个全局访问点 1.1 单例模式类图               ...

  3. Spring事务传播属性介绍(二).mandatory、not_supported、never、supports

    Required.Required_New传播属性分析传送门:https://www.cnblogs.com/lvbinbin2yujie/p/10259897.html Nested传播属性分析传送 ...

  4. 【LeetCode题解】844_比较含退格的字符串(Backspace-String-Compare)

    目录 描述 解法一:字符串比较 思路 Java 实现 Python 实现 复杂度分析 解法二:双指针(推荐) 思路 Java 实现 Python 实现 复杂度分析 更多 LeetCode 题解笔记可以 ...

  5. js 之 this call apply

    (一)关于this首先关于this我想说一句话,这句话记住了this的用法你也就差不多都能明白了:this指的是当前函数的对象.这句话可能比较绕,我会举出很多例子和这句话呼应的!(看下文)1.首先看下 ...

  6. Spring学习之路-从入门到放弃

    后台框架是真难入门啊!!!IDE的使用,环境的搭建,框架下载,上手,每一步都恶心人. 花了整整两天,才学会用idea,并且初步了解了maven(TM就是一个npm),然后跟着下载了对应的jar包,搭建 ...

  7. Linux分区方式及关闭iptables和selinux的方式

    分区方式一般有三种 第一种:数据不是很重要 /boot(系统的引导分区): 系统引导的信息/软件 系统的内核   200M swap( 交换分区): 为了避免系统内存用光了导致系统 宕机 如果系统内存 ...

  8. oracle配置数据库可恢复性(认证系列总结一)

    原创作品,转载请注明出处:https://www.cnblogs.com/sunshine5683/p/10263246.html 接下来的n多天,将进入oracle认证系列的学习总结中,本该从asm ...

  9. LINQ to Objects系列(3)深入理解Lambda表达式

    Lambda表达式是学好LINQ很重要的一个知识点,后面的LINQ查询中会大量地使用到Lambda表达式.这篇文章从以下几点进行总结. 1,Lambda表达式的前世今生 2,Lambda表达式的实际运 ...

  10. Java - "JUC线程池" 架构

    Java多线程系列--“JUC线程池”01之 线程池架构 概要 前面分别介绍了"Java多线程基础"."JUC原子类"和"JUC锁".本章介 ...