项目作者: iipeace

项目描述 :
Performance Analyzer
高级语言: Python
项目地址: git://github.com/iipeace/guider.git
创建时间: 2015-11-16T00:14:49Z
项目社区:https://github.com/iipeace/guider

开源协议:GNU General Public License v2.0

下载


Build Status
license
Coverity
PyPI version
Download guider
Join the chat at https://gitter.im/guiderchat/Lobby

Guider_Logo_mini

Table of contents

Guider

Guider is a powerful and versatile performance analysis tool,
designed to simplify and enhance system performance monitoring, profiling, and debugging for optimizing system performance and resource utilization across various platforms.
With additional features like tracing, visualization, control, logging, networking, testing, and utilities,
Guider offers a comprehensive set of tools to measure, analyze, and optimize system performance.

Guider provides a continuous system monitoring service that proactively manages events based on predefined thresholds and conditions.
Leveraging its extensive set of built-in commands, Guider operates independently without requiring external infrastructure.
Instead of streaming monitoring data to an external server in real time,
Guider retains collected data in its internal buffer and automatically generates comprehensive analysis reports upon event detection.

In addition, Guider offers a command-based API over TCP and UDS protocols,
Enabling Linux and Android application developers to easily access and visualize system performance data.

Key Advantages of Guider include:

  1. Accurate Measurements
    Provides precise measurements in counts, execution time (μs), and data size (bytes).
  2. Comprehensive Functionality
    Offers a wide range of features for performance analysis, profiling, and experimentation.
  3. Detailed Reports
    Generates in-depth reports that capture as much relevant information as possible.
  4. Browser-Based Visualization
    Creates interactive SVG visualizations that can be viewed directly in any modern browser.
  5. Ease of Use
    Designed to be simple and intuitive, requiring no complex installation or setup.
  6. Optimized Resource Usage
    Designed to operate continuously with minimal system overhead, ensuring stable performance.

Guider supports a wide range of platforms based on the Linux kernel and architectures.

  1. +--------------------------------------------------------+
  2. | Platform Type | Supported Platforms |
  3. |--------------------------------------------------------|
  4. | Linux Distros | Ubuntu, CentOS, RHEL |
  5. | Others | Android, ccOS, webOS, Tizen, AGL |
  6. | Limited Support | Windows, macOS |
  7. +--------------------------------------------------------+
  8. +--------------------------------------------------------+
  9. | Architecture | Supported Architectures |
  10. |-------------------|------------------------------------|
  11. | CPU | x86, x64, ARM, AArch64, RISC-V |
  12. +-------------------|------------------------------------+

>

Overview

features

Guider provides a wide range of features that are categorized into the following major areas:

  1. Core Commands
    Guider offers a rich set of built-in commands for various performance tasks:

    • Monitoring: Resource, Task, Function, File, WSS, Log, IPC, Container, Event
    • Profiling: Resource, File, Function, Event
    • Tracing: Resource, Leak, Signal, Function, Event
    • Control: Resource, Task, Signal, Affinity, Scheduler, Hook
    • Logging: Kernel, Syslog, Ftrace, DLT, Journal, Android
    • Visualization: Line Graph, Stacked Graph, Flame Graph, Bar Graph, Violin Plot, Histogram
    • Testing: CPU, Memory, Storage, Network
    • Utilities: Duplicated Memory, Property, Pager, Diff, Watch, Systemd, binutils, bugreport
  2. Continuous Monitoring Service
    Guider enables automated system surveillance with proactive event management:

    • Thresholds: Configurable thresholds for various metrics like CPU load, memory usage, I/O latency, etc.
    • Conditions: Logical rules combining thresholds and system states to trigger specific actions.
    • Commands: Event handlers that automatically execute built-in commands to collect data or mitigate issues.
  3. Rich and Extensible APIs
    Guider provides command-based APIs using UDS/TCP for external integration:

    • Oneshot: Single command execution with immediate JSON-formatted response.
    • Stream: Persistent session for continuous command output streaming (e.g., monitoring updates).
    • Control: Command interface to start, stop, configure, and manage Guider services remotely.
  4. Multi-Domain Integrated Monitoring
    Guider simultaneously monitors multiple resource domains:

    • CPU performance metrics, memory usage trends, storage I/O behavior, network traffic analysis, and more.
    • Cross-domain correlation analysis for identifying complex system bottlenecks.
  5. Large-Scale Data Visualization
    Guider provides comprehensive visualization of vast amounts of:

    • Guider Reports: Automated detailed reports covering monitored periods and detected events.
    • Peak Usages: Identification and visualization of resource usage peaks across domains.
    • Process Crash, Kernel Panic, ANR: Analyzes crash dumps and abnormal system behaviors.

>

Output

  1. $ python3 guider/guider.py top -a
  2. [Top Info] [Time: 4588832.570] [Inter: 1.0] [Ctxt: 314463] [Life: +0/-0] [IRQ: 26606] [Core: 4] [Task: 498/625] [Load: 0/0/0] [RAM: 125.7G] [Swap: 4.0G]
  3. [PSI > [cpu] some(8.1%) [memory] some(0%) / full(0%) [io] some(0%) / full(0%)]
  4. [Cycle: 8.3G / Inst: 5.7G / IPC: 0.69 / CacheMiss : 13.7M(23%) / BrcMiss: 25.7M(1%) / Clk: 38.7G / MinFlt: 358 / MajFlt: 0]
  5. ==========================================================================================================================================================
  6. ID | CPU(Usr/Ker/Blk/IRQ)|MemAvl( Per/ User/Cache/Kern)| Swap( Per/ In/Out)| PgRclm | BlkRW | NrFlt | PrBlk | NrSIRQ | PgMlk | PgDirt | Network |
  7. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  8. Total | 10 %( 1 / 6 / 0 / 0 )|124649( 96/ 453/ 5690/1787)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 15889 | 4616 | 20 | 2K/0 |
  9. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  10. CPU [##### ] MEM [### ] SWAP [ ]|
  11. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  12. Core/0 |100 %(66 /34 / 0 / 0 )|###################################################################| powersave | 0-0 | 24 C | 2874 Mhz [1171-3515]|
  13. Core/1 | 7 %( 0 / 6 / 0 / 0 )|#### | powersave | 0-1 | 22 C | 2307 Mhz [1171-3515]|
  14. Core/2 | 0 %( 0 / 0 / 0 / 0 )| | powersave | 0-2 | 23 C | 2165 Mhz [1171-3515]|
  15. Core/3 | 0 %( 0 / 0 / 0 / 0 )| | powersave | 0-3 | 22 C | 2170 Mhz [1171-3515]|
  16. ==========================================================================================================================================================
  17. Process ( PID/ PPID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS( RSS/Txt/Shr/Swp)| Blk( RD/ WR/NrFlt)| SID | USER | FD | LifeTime| Parent |
  18. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  19. screen ( 2451/ 1/ 1/C 0)| 100( 66/ 34/ 0)| 11( 6/ 0/ 2/ 0)| 0( -/ -/ 0)| 2451|peacel| 64|53d:00:22| systemd(1)|
  20. yes (1341199/1340350/ 1/C 0)| 99( 0/ 99/ 0)| 5( 0/ 0/ 0/ 0)| 0( -/ -/ 0)| 2452|peacel| 64| 00:00:03| vi(1340350)|
  21. kworker/u80: (1341030/ 2/ 1/C 0)| 90( 0/ 90/ 0)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| root| 64| 00:15:46| kthreadd(2)|
  22. kworker/u80: (1340705/ 2/ 1/C 0)| 26( 0/ 26/ 0)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| root| 64| 02:04:59| kthreadd(2)|
  23. kworker/u80: (1340966/ 2/ 1/C 0)| 21( 0/ 21/ 0)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| root| 64| 00:20:56| kthreadd(2)|
  24. [ TOTAL ]| 344.0( 72/ 271)|RSS: 1G / Swp: 0)| 0.0( -/ -/ 0)| Yld: -| Prmt: -| Task: 498|
  25. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  26. [Z]bash ( 820918/ 820917/ 1/C 0)| 0( 0/ 0/ -)| 0( 0/ 0/ 0/ -)| 0( -/ -/ 0)| -| -| -| 3d:06:10| tmux: server(820917)|
  27. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. $ python3 guider/guider.py top -R 5 -o
  2. $ cat guider.out
  3. [Top Summary Info]
  4. ==========================================================================================================================================================
  5. IDX | Interval | CPU | Avl/User/Cache | BlkRW | Blk | SWAP | NrPgRclm | NrFlt | NrCtx | NrIRQ | NrTask | Core | Network |
  6. ==========================================================================================================================================================
  7. 1 | START - 497231.500 | 98 | 124442/962/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 631 | 10660 | 482/701 | 40 | 2K/156 |
  8. 2 | 497231.500 - 497232.520 | 98 | 124440/963/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 646 | 10506 | 482/701 | 40 | 1K/104 |
  9. 3 | 497232.520 - 497233.540 | 98 | 124440/964/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 741 | 10562 | 482/701 | 40 | 2K/104 |
  10. 4 | 497233.540 - 497234.570 | 98 | 124440/964/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 629 | 10489 | 482/701 | 40 | 1K/104 |
  11. 5 | 497234.570 - 497235.590 | 98 | 124440/964/3854 | 0/0 | 0 | 0 | 0/0 | 0 | 699 | 10602 | 482/701 | 40 | 2K/208 |
  12. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  13. [Top CPU Info] (Unit: %)
  14. ==========================================================================================================================================================
  15. COMM ( PID / PPID / Nr / Pri)| Min/Avg/Max | 1 2 3 4 5
  16. ==========================================================================================================================================================
  17. [CPU] ( -/ -/ -/ -)| 98/98.0/98 | 98 98 98 98 98
  18. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  19. FahCore_a8 ( 55469/ 55465/ 41/C 19)| 384/387.0/389| 384 3898 3898 3860 3883
  20. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  21. guider ( 55767/ 9591/ 1/C 0)| 1/1.6/3 | 1 1 2 3 1
  22. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  23. [Top RSS Info] (Unit: MB)
  24. ==========================================================================================================================================================
  25. COMM ( PID / PPID / Nr / Pri)| Max | 1 2 3 4 5
  26. ==========================================================================================================================================================
  27. [FREE/MIN] ( -/ -/ -/ -)|124440 | 124442 124440 124440 124440 124440
  28. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  29. FahCore_a8 ( 55469/ 55465/ 41/C 19)| 548 | 548 548 548 548 548
  30. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  31. guider ( 55767/ 9591/ 1/C 0)| 34 | 33 34 34 34 34
  32. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. $ python3 guider/guider.py ttop
  2. [Top Info] [Time: 194025.590] [Interval: 1.0] [Ctxt: 4995] [Life: +0/-0] [OOM: 0] [IRQ: 1879] [Core: 8] [Task: 333/1188] [Load: 3.1/1.9/0.9] [RAM: 62.8G]
  3. ==========================================================================================================================================================
  4. ID | CPU(Usr/Ker/Blk/IRQ)| Avl(Diff/ User/Cache/Kern)| Swap(Diff/ In/Out)| PgRclm | BlkRW | NrFlt | PrBlk | NrSIRQ | PgMlk | PgDrt | Network |
  5. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  6. Total | 3 %( 1 / 0 /23 / 0 )|59874( -3/ 3110/15153/ 355)| 0( 0/ 0/ 0)| 0/0 | 0/5 | 0 | 2 | 313 | 1607 | 939290 | 0/0 |
  7. ==========================================================================================================================================================
  8. Thread ( TID/ PID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS(RSS/Txt/Shr/Swp)| Blk( RD/ WR/NrFlt)| Yld | Prmt | FD | LifeTime| Process |
  9. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  10. guider ( 8160/ 8160/ 1/C 0)| 3( 2/ 0/ 0)| 66( 33/ 2/ 6/ 0)| 0( -/ -/ 0)| 1| 0|2048| 00:00:02| guider(8160)|
  11. gnome-terminal- ( 4864/ 4864/ 4/C 0)| 1( 0/ 0/ -)| 627( 57/ 0/ 40/ 0)| 0( -/ -/ 0)| -| -| 128| 2d:05:52|gnome-terminal-(4864)|
  12. Xorg ( 1525/ 1525/ 2/C 0)| 1( 0/ 0/ -)| 431( 84/ 0/ 48/ 0)| 0( -/ -/ 0)| -| -| 128| 2d:05:53| Xorg(1525)|
  13. [ TOTAL ]| 5( 2/ 0)|RSS: 174M / Swp: 0)| 0.0( -/ -/ 0)| Yld: 1| Prmt: 0| Task: 3|
  14. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  15. [D]kworker/u16:0 ( 7784/ 7784/ 1/C 0)| 0( 0/ 0/ -)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| -| -| 00:07:07| -|
  16. [D]pool ( 8024/ 2450/ 13/C 0)| 0( 0/ 0/ -)| 1025( 82/ 1/ -/ -)| 0( -/ -/ 0)| -| -| -| 00:04:31| -|
  17. [D]usb-storage ( 7825/ 7825/ 1/C 0)| 0( 0/ 0/ -)| 0( 0/ 0/ -/ -)| 0( -/ -/ 0)| -| -| -| 00:06:38| -|
  18. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py utop -g yes -H
  2. [Top Usercall Info] [Time: 82094.260000] [Interval: 1.001784] [NrSamples: 955] [yes(7202): 28%(Usr/27%+Sys/0%)] [SampleTime: 0.000100]
  3. ==========================================================================================================================================================
  4. Usage | Function [Path]
  5. ==========================================================================================================================================================
  6. 35.6% | _IO_file_xsputn@GLIBC_2.17 [/lib/libc-2.24.so]
  7. 100.0% | <- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils] <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]
  8. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  9. 17.8% | fputs_unlocked@GLIBC_2.17 [/lib/libc-2.24.so]
  10. 100.0% | <- ??[/usr/bin/yes.coreutils] <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]
  11. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  12. 16.1% | __libc_start_main@GLIBC_2.17 [/lib/libc-2.24.so]
  13. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  14. 14.7% | memcpy@GLIBC_2.17 [/lib/libc-2.24.so]
  15. 100.0% | <- _IO_file_xsputn@GLIBC_2.17[/lib/libc-2.24.so] <- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils]
  16. <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]
  17. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  18. 12.3% | strlen@GLIBC_2.17 [/lib/libc-2.24.so]
  19. 100.0% | <- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils] <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]
  20. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  21. 3.0% | _IO_file_write@GLIBC_2.17 [/lib/libc-2.24.so]
  22. 100.0% | <- ??[/lib/libc-2.24.so] <- _IO_do_write@GLIBC_2.17[/lib/libc-2.24.so] <- _IO_file_xsputn@GLIBC_2.17[/lib/libc-2.24.so]
  23. <- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils]
  24. <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]
  25. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py utop -g node -H -q JITSYM
  2. [Top Usercall Info] [Time: 7249986.900] [Interval: 1.015] [Samples: 442] [SYS: 2%/120G] [node(1068318): 50%(U46%+S3%)/897M] [guider(1068338): 53%/256M] [Freq:
  3. ==========================================================================================================================================================
  4. Usage | Function [PATH] <Sample>
  5. ==========================================================================================================================================================
  6. 18.6% | write@GLIBC_2.28 [/usr/lib/x86_64-linux-gnu/libpthread-2.31.so] <Cnt: 82>
  7. 100.0% | <- 0x13250[/usr/lib/x86_64-linux-gnu/libuv.so.1.0.0] <- uv_fs_write[/usr/lib/x86_64-linux-gnu/libuv.so.1.0.0]
  8. <- 0x573090[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- JIT[JIT] <- LazyCompile:*writeSync fs.js:551[JIT]
  9. <- Builtin:ArgumentsAdaptorTrampoline[JIT] <- LazyCompile:*writeOrBuffer _stream_writable.js:365[JIT]
  10. <- LazyCompile:*log console.js:199[JIT] <- Builtin:ArgumentsAdaptorTrampoline[JIT] <- Builtin:JSEntryTrampoline[JIT] <- JIT[JIT]
  11. <- 0xab0110[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- 0xab0720[/usr/lib/x86_64-linux-gnu/libnode.so.64]
  12. <- v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::O
  13. <- v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]
  14. <- 0x630d40[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- JIT[JIT] <- LazyCompile:* /home/peacelee/test/test.js:1[JIT]
  15. <- Builtin:InterpreterEntryTrampoline[JIT] <- Builtin:JSEntryTrampoline[JIT] * 8 <- JIT[JIT]
  16. <- 0xab0110[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- 0xab0720[/usr/lib/x86_64-linux-gnu/libnode.so.64]
  17. <- v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::O
  18. <- v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]
  19. <- 0x52cae0[/usr/lib/x86_64-linux-gnu/libnode.so.64]
  20. <- node::LoadEnvironment(node::Environment*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]
  21. <- node::Start(v8::Isolate*, node::IsolateData*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char
  22. <- node::Start(int, char**)[/usr/lib/x86_64-linux-gnu/libnode.so.64] <Cnt: 82>
  23. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  24. 3.8% | LazyCompile:*writeOrBuffer _stream_writable.js:365 [JIT] <Cnt: 17>
  25. 64.7% | <- LazyCompile:*log console.js:199[JIT] <- Builtin:ArgumentsAdaptorTrampoline[JIT] <- Builtin:JSEntryTrampoline[JIT] <- JIT[JIT]
  26. <- 0xab0110[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- 0xab0720[/usr/lib/x86_64-linux-gnu/libnode.so.64]
  27. <- v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::O
  28. <- v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]
  29. <- 0x630d40[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- JIT[JIT] <- LazyCompile:* /home/peacelee/test/test.js:1[JIT]
  30. <- Builtin:InterpreterEntryTrampoline[JIT] <- Builtin:JSEntryTrampoline[JIT] * 8 <- JIT[JIT]
  31. <- 0xab0110[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- 0xab0720[/usr/lib/x86_64-linux-gnu/libnode.so.64]
  32. <- v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::O
  33. <- v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]
  34. <- 0x52cae0[/usr/lib/x86_64-linux-gnu/libnode.so.64]
  35. <- node::LoadEnvironment(node::Environment*)[/usr/lib/x86_64-linux-gnu/libnode.so.64]
  36. <- node::Start(v8::Isolate*, node::IsolateData*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char
  37. <- node::Start(int, char**)[/usr/lib/x86_64-linux-gnu/libnode.so.64] <- main[/usr/bin/node]
  38. <- __libc_start_main@GLIBC_2.2.5[/usr/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 11>
  39. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py systop -g yes -H
  2. [Top Syscall Info] [Time: 82043.230000] [Interval: 1.000940] [NrSamples: 634] [yes(7202): 5%(Usr/4%+Sys/0%)]
  3. ==========================================================================================================================================================
  4. Usage | Function [Count]
  5. ==========================================================================================================================================================
  6. 100.0% | write [Cnt: 634, Tot: 0.830203, Avg: 0.001309, Max: 0.005875, Err: 0]
  7. 100.0% | <- ??[/lib/libc-2.24.so] <- _IO_file_write@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/lib/libc-2.24.so]
  8. <- _IO_do_write@GLIBC_2.17[/lib/libc-2.24.so] <- _IO_file_xsputn@GLIBC_2.17[/lib/libc-2.24.so]
  9. <- fputs_unlocked@GLIBC_2.17[/lib/libc-2.24.so] <- ??[/usr/bin/yes.coreutils]
  10. <- __libc_start_main@GLIBC_2.17[/lib/libc-2.24.so]
  11. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py btop -g a.out -H
  2. [Top Breakcall Info] [Time: 4542869.660] [Interval: 1.001] [NrSamples: 994] [a.out(1219772): 7%(Usr/0%+Sys/6%)] [guider(1219775): 97%]
  3. ==========================================================================================================================================================
  4. Usage | Function [PATH] <Interval>
  5. ==========================================================================================================================================================
  6. 16.7% | __mempcpy_sse2_unaligned_erms [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 166, Avg: 0.005994, Min: 0.002999, Max: 0.012299]
  7. 100.0% | <- _IO_new_file_xsputn[/lib/x86_64-linux-gnu/libc-2.31.so] <- __vfprintf_internal[/lib/x86_64-linux-gnu/libc-2.31.so]
  8. <- printf[/lib/x86_64-linux-gnu/libc-2.31.so]
  9. <- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd
  10. <- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]
  11. <- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]
  12. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  13. 16.7% | _IO_new_file_xsputn [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 166, Avg: 0.005997, Min: 0.002988, Max: 0.012302]
  14. 100.0% | <- __vfprintf_internal[/lib/x86_64-linux-gnu/libc-2.31.so] <- printf[/lib/x86_64-linux-gnu/libc-2.31.so]
  15. <- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd
  16. <- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]
  17. <- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]
  18. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  19. 11.2% | __strchrnul_sse2 [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 111, Avg: 0.008974, Min: 0.006034, Max: 0.012381]
  20. 100.0% | <- __vfprintf_internal[/lib/x86_64-linux-gnu/libc-2.31.so] <- printf[/lib/x86_64-linux-gnu/libc-2.31.so]
  21. <- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd
  22. <- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]
  23. <- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]
  24. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  25. 5.5% | close@GLIBC_2.4 [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 55, Avg: 0.017763, Min: 0.017895, Max: 0.018863]
  26. 100.0% | <- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd
  27. <- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]
  28. <- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]
  29. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  30. 5.5% | __vfprintf_internal [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 55, Avg: 0.017764, Min: 0.017838, Max: 0.018741]
  31. 100.0% | <- printf[/lib/x86_64-linux-gnu/libc-2.31.so]
  32. <- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd
  33. <- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]
  34. <- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]
  35. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  36. 5.5% | _IO_file_overflow@GLIBC_2.2.5 [/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 55, Avg: 0.017764, Min: 0.017924, Max: 0.018732]
  37. 100.0% | <- _IO_new_file_xsputn[/lib/x86_64-linux-gnu/libc-2.31.so] <- __vfprintf_internal[/lib/x86_64-linux-gnu/libc-2.31.so]
  38. <- printf[/lib/x86_64-linux-gnu/libc-2.31.so]
  39. <- asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd
  40. <- printPeace2[/home/peacelee/test/a.out] <- printPeace[/home/peacelee/test/a.out] <- main[/home/peacelee/test/a.out]
  41. <- __libc_start_main[/lib/x86_64-linux-gnu/libc-2.31.so] <- _start[/home/peacelee/test/a.out]
  42. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py pytop -g iotop -H
  2. [Top Pycall Info] [Time: 7469667.000] [Interval: 1.003] [NrSamples: 283] [iotop(2943070): 13%(Usr/10%+Sys/2%)] [guider(2943073): 53%] [SampleRate: 0.001]
  3. ==========================================================================================================================================================
  4. Usage | Function [PATH] <Sample>
  5. ==========================================================================================================================================================
  6. 56.9% | WAIT(poll@GLIBC_2.2.5) [/usr/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 161>
  7. 100.0% | <- run[/usr/lib/python3/dist-packages/iotop/ui.py] <- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py]
  8. <- wrapper[/usr/lib/python3.8/curses/__init__.py] <- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py]
  9. <- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py] <- main[/usr/lib/python3/dist-packages/iotop/ui.py]
  10. <- <module>[/usr/sbin/iotop] <Cnt: 161>
  11. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  12. 10.2% | parse_proc_pid_status [/usr/lib/python3/dist-packages/iotop/data.py] <Cnt: 29>
  13. 100.0% | <- get_cmdline[/usr/lib/python3/dist-packages/iotop/data.py] <- format[/usr/lib/python3/dist-packages/iotop/ui.py]
  14. <- get_data[/usr/lib/python3/dist-packages/iotop/ui.py] <- refresh_display[/usr/lib/python3/dist-packages/iotop/ui.py]
  15. <- run[/usr/lib/python3/dist-packages/iotop/ui.py] <- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py]
  16. <- wrapper[/usr/lib/python3.8/curses/__init__.py] <- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py]
  17. <- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py] <- main[/usr/lib/python3/dist-packages/iotop/ui.py]
  18. <- <module>[/usr/sbin/iotop] <Cnt: 29>
  19. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  20. 4.6% | read@GLIBC_2.26 [/usr/lib/x86_64-linux-gnu/libc-2.31.so] <Cnt: 13>
  21. 76.9% | <- parse_proc_pid_status[/usr/lib/python3/dist-packages/iotop/data.py] <- get_cmdline[/usr/lib/python3/dist-packages/iotop/data.py]
  22. <- format[/usr/lib/python3/dist-packages/iotop/ui.py] <- get_data[/usr/lib/python3/dist-packages/iotop/ui.py]
  23. <- refresh_display[/usr/lib/python3/dist-packages/iotop/ui.py] <- run[/usr/lib/python3/dist-packages/iotop/ui.py]
  24. <- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py] <- wrapper[/usr/lib/python3.8/curses/__init__.py]
  25. <- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py] <- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py]
  26. <- main[/usr/lib/python3/dist-packages/iotop/ui.py] <- <module>[/usr/sbin/iotop] <Cnt: 10>
  27. 23.1% | <- get_cmdline[/usr/lib/python3/dist-packages/iotop/data.py] <- format[/usr/lib/python3/dist-packages/iotop/ui.py]
  28. <- get_data[/usr/lib/python3/dist-packages/iotop/ui.py] <- refresh_display[/usr/lib/python3/dist-packages/iotop/ui.py]
  29. <- run[/usr/lib/python3/dist-packages/iotop/ui.py] <- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py]
  30. <- wrapper[/usr/lib/python3.8/curses/__init__.py] <- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py]
  31. <- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py] <- main[/usr/lib/python3/dist-packages/iotop/ui.py]
  32. <- <module>[/usr/sbin/iotop] <Cnt: 3>
  33. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  34. 4.2% | format [/usr/lib/python3/dist-packages/iotop/ui.py] <Cnt: 12>
  35. 100.0% | <- get_data[/usr/lib/python3/dist-packages/iotop/ui.py] <- refresh_display[/usr/lib/python3/dist-packages/iotop/ui.py]
  36. <- run[/usr/lib/python3/dist-packages/iotop/ui.py] <- run_iotop_window[/usr/lib/python3/dist-packages/iotop/ui.py]
  37. <- wrapper[/usr/lib/python3.8/curses/__init__.py] <- run_iotop[/usr/lib/python3/dist-packages/iotop/ui.py]
  38. <- <lambda>[/usr/lib/python3/dist-packages/iotop/ui.py] <- main[/usr/lib/python3/dist-packages/iotop/ui.py]
  39. <- <module>[/usr/sbin/iotop] <Cnt: 12>
  40. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py ftop -g nginx
  2. [Top File Info] [Time: 497555.620] [Proc: 41] [FD: 2,047] [File: 87] [CPU: 95%(Usr:54%/Sys:41%)] (Unit: %/MB/NR)
  3. ==========================================================================================================================================================
  4. Process ( ID / Pid / Nr / Pri)| FD | Path |
  5. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  6. nginx ( 1348/ 1333/ 1/C 0)| 49| SOCKET: 42 NORMAL: 3 DEVICE: 2 EVENT: 2 PIPE: 0 PROC: 0 |
  7. | 49| /var/log/nginx/error.log (0, O_WRONLY|O_APPEND|O_CLOEXEC) |
  8. | 48| socket:[32124] |
  9. | 37| socket:[32102] |
  10. | 36| anon_inode:[eventfd] |
  11. | 35| anon_inode:[eventpoll] |
  12. | 34| socket:[32073] |
  13. | 8| socket:[32074] |
  14. | 7| socket:[20935] |
  15. | 6| socket:[20934] (TCP:0.0.0.0:80/LISTEN) |
  16. | 5| /var/log/nginx/access.log (0, O_WRONLY|O_APPEND|O_CLOEXEC) |
  17. | 3| socket:[32046] |
  18. | 2| /var/log/nginx/error.log (0, O_WRONLY) |
  19. | 1| /dev/null (0, O_RDWR) |
  20. | 0| /dev/null (0, O_RDWR) |
  21. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py stacktop -g syslog
  2. [Top Info] [Time: 7176163.830] [Interval: 1.0] [Ctxt: 2914] [Life: +13/-12] [IRQ: 5103] [Core: 24] [Task: 328/435] [RAM: 63876] [Swap: 65491] (Unit: %/MB/NR)
  3. [Cycle: 2G / Inst: 3G / IPC: 1.34 / CacheMiss: 6M(34%) / BranchMiss: 4M(0%) / Clock: 23G / MinFlt: 53,257 / MajFlt: 0]
  4. ==========================================================================================================================================================
  5. ID | CPU (Usr/Ker/Blk/IRQ)| Mem (Diff/ User/Cache/Kern)| Swap (Diff/ I/O )|NrPgRclm | BlkRW | NrFlt | NrBlk | NrSIRQ | NrMlk | NrDrt | Network |
  6. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  7. Total | 6 %( 3 / 1 / 0 / 0 )| 4913(-204/ 974/56824/1165)| 0 ( 0 / 0/0 )| 0/0 | 0/42 | 0 | 0 | 3713 | 0 | 90901 | 2K/13K |
  8. ==========================================================================================================================================================
  9. Thread ( TID/ PID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| Mem(RSS/Txt/Shr/Swp)| Blk( RD / WR /NrFlt)| Yld | Prmt | FD | LifeTime| WaitChannel |
  10. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  11. rsyslogd ( 2702/ 2702/ 4/C 0)| 0( 0/ 0/ -)| 244( 5/ 0/ 2/ 0)| 0( -/ -/ 0)| 0| 0| 64| 1K:22:40|poll_schedule_timeout|
  12. 100% | poll_schedule_timeout+0x43/0x70 <- do_select+0x711/0x7f0 <- core_sys_select+0x196/0x280 <-
  13. SyS_select+0xa6/0xe0 <- entry_SYSCALL_64_fastpath+0x1a/0xa5
  14. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  15. rsyslogd ( 2779/ 2702/ 4/C 0)| 0( 0/ 0/ -)| 244( 5/ 0/ 2/ 0)| 0( -/ -/ 0)| 0| 0| 64| 1K:22:40|poll_schedule_timeout|
  16. 100% | poll_schedule_timeout+0x43/0x70 <- do_select+0x711/0x7f0 <- core_sys_select+0x196/0x280 <-
  17. SyS_select+0xa6/0xe0 <- entry_SYSCALL_64_fastpath+0x1a/0xa5
  18. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  19. rsyslogd ( 2780/ 2702/ 4/C 0)| 0( 0/ 0/ 0)| 244( 5/ 0/ 2/ 0)| 0( -/ -/ 0)| 116| 0| 64| 1K:22:40| do_syslog |
  20. 99% | do_syslog+0x446/0x4c0 <- kmsg_read+0x3f/0x50 <- proc_reg_read+0x3d/0x60 <- __vfs_read+0x23/0x110 <-
  21. vfs_read+0x91/0x130 <- SyS_read+0x41/0xa0 <- entry_SYSCALL_64_fastpath+0x1a/0xa5
  22. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py ptop -g yes
  2. [Top Info] [Time: 7181955.420] [Interval: 1.0] [Ctxt: 121] [Life: +0/-0] [IRQ: 1947] [Core: 24] [Task: 317/424] [RAM: 63876] [Swap: 65491] (Unit: %/MB/NR)
  3. ==========================================================================================================================================================
  4. ID | CPU (Usr/Ker/Blk/IRQ)| Mem (Diff/ User/Cache/Kern)| Swap (Diff/ I/O )|NrPgRclm | BlkRW | NrFlt | NrBlk | NrSIRQ | NrMlk | NrDrt | Network |
  5. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  6. Total | 5 %( 4 / 0 / 0 / 0 )| 3783( 0/ 875/58078/1140)| 0 ( 0 / 0/0 )| 0/0 | 0/0 | 0 | 0 | 2023 | 0 | 0 | 1K/3K |
  7. ==========================================================================================================================================================
  8. Process ( PID/ PPID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| Mem(RSS/Txt/Shr/Swp)| Blk( RD / WR /NrFlt)| Yld | Prmt | FD | LifeTime| WaitChannel |
  9. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  10. yes (22371/ 9085/ 1/R 90)| 99( 99/ 0/ 0)| 8( 0/ 0/ 0/ 0)| 0( -/ -/ 0)| 0| 0| 256| 1:34:11| RUNNING |
  11. | [Cycle: 2G / Inst: 6G / IPC: 2.82 / CacheMiss: 11K(98%) / BranchMiss: 26K(0%) / Clock: 972M / MinFlt: 0 / MajFlt: 0]
  12. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py mtop
  2. [Top Info] [Time: 92097.250] [Inter: 1.0] [Ctxt: 41] [Life: +0/-0] [IRQ: 6] [Core: 8] [Task: 49/77] [Load: 0/0/0] [RAM: 3.7G] [Swap: 1.0G] [Bat: 99%/08:43:
  3. [SYSTEM > Active: 490.2M, Active(anon): 3.8M, Active(file): 486.4M, AnonHugePages: 46.0M, AnonPages: 139.8M
  4. Buffers: 127.7M, Cached: 698.4M, CommitLimit: 2.9G, Committed_AS: 675.7M, DirectMap1G: 8.0G
  5. DirectMap2M: 3.8G, DirectMap4k: 101.0M, Dirty: 88.0K, Hugepagesize: 2.0M, Inactive: 483.1M
  6. Inactive(anon): 159.6M, Inactive(file): 323.5M, KReclaimable: 66.2M, KernelStack: 3.6M, Mapped: 99.9M
  7. MemAvailable: 3.1G, MemFree: 2.4G, MemTotal: 3.7G, PageTables: 3.5M, Percpu: 3.9M
  8. SReclaimable: 66.2M, SUnreclaim: 49.3M, Shmem: 16.2M, Slab: 115.5M, SwapFree: 1.0G
  9. SwapTotal: 1.0G, VmallocTotal: 32.0T, VmallocUsed: 24.7M]
  10. [BUDDY > DMA: 0_0_0_0_0_0_0_0_0_1_3 / DMA32: 1,721_922_562_1,003_698_425_265_98_13_15_543 / Normal: 7_4_2_2_1_0_0_1_0_0_0]
  11. [KSM > full_scans: 0, max_page_sharing: 256, pages_shared: 0, pages_sharing: 0, pages_to_scan: 100, pages_total: 0, pages_unshared: 0
  12. pages_volatile: 0, run: 0, sleep_millisecs: 20, stable_node_chains: 0, stable_node_chains_prune_millisecs: 2,000, stable_node_dups: 0
  13. use_zero_pages: 0]
  14. [VM > swappiness: 60 / cache_pressure: 100 / overcommit: 0]
  15. [N0-DMA > diff: 0 / free: 14.0M / min: 244.0K / low: 304.0K / high: 364.0K / managed: 14.0M / present: 14.6M / spanned: 16.0M]
  16. [N0-DMA32 > diff: -252.0K / free: 2.4G / min: 65.2M / low: 81.5M / high: 97.8M / managed: 3.7G / present: 3.9G / spanned: 4.0G]
  17. [N0-Device > diff: 0 / free: 0 / min: 0 / low: 0 / high: 0 / managed: 0 / present: 0 / spanned: 8.0G]
  18. [N0-Normal > diff: 0 / free: 732.0K / min: 592.0K / low: 740.0K / high: 888.0K / managed: 33.5M / present: 42.0M / spanned: 42.0M]
  19. ==========================================================================================================================================================
  20. ID | CPU(Usr/Ker/Blk/IRQ)|MemAvl(Per/ User/ Cache/ Kern)| Swap( Per/ In/Out)| PgRclm | BlkRW | NrFlt |Blk| NrSIRQ | PgMlk | PgDirt | NetIO |
  21. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  22. Total | 0 %( 0/ 0/ 0/ 0)| 3143( 18/ 139/ 941/ 259)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 0 | 0 | 22 | 255/52 |
  23. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  24. CPU [ ] MEM [####### ] SWAP [ ]|
  25. ==========================================================================================================================================================
  26. Process ( PID/PPID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS( RSS/Txt/Shr/Swp)| Blk( RD/ WR/NrFlt)| SID| USER| FD| LifeTime| Parent|
  27. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  28. snapd (3094/ 1/ 15/C 0)| 0( 0/ 0/ -)|1722( 43/ 9/ 18/ 0)| 0( -/ -/ 0)| 3094| root| 128| 16:50:57| systemd(1)|
  29. MEM(ANON/73) | VSS: 1.7G / RSS: 23.7M / PSS: 23.7M / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|
  30. MEM(FILE/4) | VSS: 23.7M / RSS: 21.5M / PSS: 19.9M / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|
  31. MEM(HEAP/1) | VSS: 132.0K / RSS: 4.0K / PSS: 4.0K / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|
  32. MEM(OTHER/2) | VSS: 24.0K / RSS: 4.0K / PSS: 0 / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|
  33. MEM(STACK/1) | VSS: 132.0K / RSS: 20.0K / PSS: 20.0K / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|
  34. MEM(SUM) | VmPeak: 1.7G, VmHWM: 54.2M, VmData: 175.5M, HugetlbPages: 0, RssAnon: 24.7M, RssFile: 19.0M, RssShmem: 0 |
  35. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py ntop
  2. [Top Info] [Time: 186473.960] [Interval: 1.0] [Ctxt: 7865] [Life: +0/-0] [OOM: 0] [IRQ: 4229] [Core: 8] [Task: 328/1171] [Load: 0.5/0.3/0.3] [RAM: 62.8G]
  3. ==========================================================================================================================================================
  4. ID | CPU(Usr/Ker/Blk/IRQ)| Avl(Diff/ User/Cache/Kern)| Swap(Diff/ In/Out)| PgRclm | BlkRW | NrFlt | PrBlk | NrSIRQ | PgMlk | PgDrt | Network |
  5. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  6. Total | 1 %( 0 / 0 / 0 / 0 )|59939( -2/ 3054/ 6429/ 350)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 1661 | 1607 | 343 | 652K/9K |
  7. ==========================================================================================================================================================
  8. Network | Receive | Transfer |
  9. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  10. Dev | IP | Size | Packet | Error | Drop | Multicast | Size | Packet | Error | Drop | Multicast |
  11. ==========================================================================================================================================================
  12. docker0 | 166.104.101.26 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
  13. eno1 | 166.104.101.1 | 665.9K | 475 | 0 | 0 | 1 | 12.0K | 168 | 0 | 0 | 0 |
  14. enx201601190a25 | 166.104.101.27 | 48 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
  15. lo | 127.0.0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
  16. virbr0 | | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
  17. virbr0-nic | | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
  18. [ TOTAL ] | | 666.0K | 476 | 0 | 0 | 1 | 12.0K | 168 | 0 | 0 | 0 |
  19. ==========================================================================================================================================================

>

  1. # python3 guider/guider.py disktop
  2. [Top Info] [Time: 262411.830] [Inter: 1.0] [Ctxt: 802] [Life: +0/-0] [IRQ: 10675] [Core: 40] [Task: 481/700] [Load: 38/38/38] [RAM: 125.7G] [Swap: 4.0G]
  3. ==========================================================================================================================================================
  4. ID | CPU(Usr/Ker/Blk/IRQ)| Avl( Per/ User/Cache/Kern)| Swap( Per/ In/Out)| PgRclm | BlkRW | NrFlt | PrBlk | NrSIRQ | PgMlk | PgDrt | Network |
  5. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  6. Total | 98 %(97 / 0 / 0 / 0 )|124431( 96/ 994/ 3531/1733)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 11620 | 4613 | 70 | 1K/0 |
  7. ==========================================================================================================================================================
  8. DEV |BUSY| AVQ | READ | WRITE | FREE( DIFF)|USAGE| TOTAL | AVF | FS | MountPoint <Option> |
  9. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  10. /dev/sda2 | 0%| 0| 0| 0| 670.6G( 0)| 28%| 937.4G| 57.6M| ext4 | / <rw,relatime> |
  11. /dev/loop4 | 0%| 0| 0| 0| 0( 0)| 100%| 30.0M| 0|squashfs| /snap/snapd/9279 <ro,nodev,relatime> |
  12. /dev/loop5 | 0%| 0| 0| 0| 0( 0)| 100%| 70.0M| 0|squashfs| /snap/lxd/16922 <ro,nodev,relatime> |
  13. /dev/sda1 | 0%| 0| 0| 0| 503.0M( 0)| 1%| 510.0M| 0| vfat | /boot/efi <rw,relatime> |
  14. /dev/loop1 | 0%| 0| 0| 0| 0( 0)| 100%| 55.0M| 0|squashfs| /snap/core18/1885 <ro,nodev,relatime> |
  15. /dev/loop2 | 0%| 0| 0| 0| 0( 0)| 100%| 70.0M| 0|squashfs| /snap/lxd/16894 <ro,nodev,relatime> |
  16. /dev/loop0 | 0%| 0| 0| 0| 0( 0)| 100%| 55.0M| 0|squashfs| /snap/core18/1880 <ro,nodev,relatime> |
  17. /dev/loop3 | 0%| 0| 0| 0| 0( 0)| 100%| 30.0M| 0|squashfs| /snap/snapd/8790 <ro,nodev,relatime> |
  18. /run/snapd/ns | 0%| 0| 0| 0| 12.6G( 0)| 0%| 12.6G| 15.7M| tmpfs | /run/snapd/ns |
  19. /run/user/1004 | 0%| 0| 0| 0| 12.6G( 0)| 0%| 12.6G| 15.7M| tmpfs | /run/user/1004 <rw,nosuid,nodev,relatime> |
  20. /sys/fs/cgroup | 0%| 0| 0| 0| 62.9G( 0)| 0%| 62.9G| 15.7M| tmpfs | /sys/fs/cgroup <ro,nosuid,nodev,noexec> |
  21. /run | 0%| 0| 0| 0| 12.6G( 0)| 0%| 12.6G| 15.7M| tmpfs | /run <rw,nosuid,nodev,noexec,relatime> |
  22. /run/lock | 0%| 0| 0| 0| 5.0M( 0)| 0%| 5.0M| 15.7M| tmpfs | /run/lock <rw,nosuid,nodev,noexec,relatime> |
  23. /dev/shm | 0%| 0| 0| 0| 62.9G( 0)| 0%| 62.9G| 15.7M| tmpfs | /dev/shm <rw,nosuid,nodev> |
  24. ==========================================================================================================================================================

>

  1. # python3 guider/guider.py wtop -g yes
  2. [Top Info] [Time: 92197.480] [Inter: 1.0] [Ctxt: 72] [Life: +0/-0] [IRQ: 18] [Core: 8] [Task: 49/77] [Load: 0/0/0] [RAM: 3.7G] [Swap: 1.0G] [Bat: 99%/08:43:53/+]
  3. ==========================================================================================================================================================
  4. ID | CPU(Usr/Ker/Blk/IRQ)|MemAvl(Per/ User/ Cache/ Kern)| Swap( Per/ In/Out)| PgRclm | BlkRW | NrFlt |Blk| NrSIRQ | PgMlk | PgDirt | NetIO |
  5. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  6. Total | 1 %( 0/ 0/ 0/ 0)| 3134( 18/ 140/ 941/ 267)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 0 | 0 | 36 | 0/0 |
  7. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  8. CPU [ ] MEM [####### ] SWAP [ ]|
  9. ==========================================================================================================================================================
  10. Process ( PID/PPID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS( RSS/Txt/Shr/Swp)| Blk( RD/ WR/NrFlt)| SID| USER| FD| LifeTime| Parent|
  11. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  12. snapd (3094/ 1/ 15/C 0)| 0( 0/ 0/ 0)|1722( 43/ 9/ 18/ 0)| 0( -/ -/ 0)| 3094| root| 128| 16:52:37| systemd(1)|
  13. MEM(VSS) | VSS: [ 1.7G] -> 1.7G -> 1.7G -> 1.7G -> 1.7G -> 1.7G -> 1.7G -> 1.7G -> 1.7G
  14. MEM(RSS) | RSS: [ 45.4M] -> 45.4M -> 45.4M -> 45.4M -> 45.4M -> 45.4M -> 45.4M -> 45.4M -> 45.4M
  15. MEM(PSS) | PSS: [ 43.8M] -> 43.8M -> 43.8M -> 43.8M -> 43.8M -> 43.8M -> 43.8M -> 43.8M -> 43.8M
  16. MEM(USS) | USS: [ 43.7M] -> 43.7M -> 43.7M -> 43.7M -> 43.7M -> 43.7M -> 43.7M -> 43.7M -> 43.7M
  17. MEM(WSS) | WSS: [ 1.7M] -> 0 -> 12.7M -> 12.7M -> 12.7M -> 12.7M -> 12.7M -> 12.7M -> 12.7M
  18. MEM(ANON/73) | VSS: 1.7G / RSS: 23.9M / PSS: 23.9M / SWAP: 0 / HUGE: 16M / LOCK: 0 / SDRT: 0 / PDRT: 23.9M|
  19. | WSS: [ 0] -> 0 -> 12.2M -> 12.2M -> 12.2M -> 12.2M -> 12.2M -> 12.2M -> 12.2M
  20. MEM(FILE/4) | VSS: 23.7M / RSS: 21.5M / PSS: 19.9M / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 1.9M|
  21. | WSS: [ 1.7M] -> 0 -> 436.0K -> 436.0K -> 436.0K -> 436.0K -> 436.0K -> 436.0K -> 436.0K
  22. MEM(HEAP/1) | VSS: 132.0K / RSS: 4.0K / PSS: 4.0K / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 4.0K|
  23. | WSS: [ 0] -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0
  24. MEM(OTHER/2) | VSS: 24.0K / RSS: 4.0K / PSS: 0 / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 0|
  25. | WSS: [ 4.0K] -> 0 -> 4.0K -> 4.0K -> 4.0K -> 4.0K -> 4.0K -> 4.0K -> 4.0K
  26. MEM(STACK/1) | VSS: 132.0K / RSS: 20.0K / PSS: 20.0K / SWAP: 0 / HUGE: 0 / LOCK: 0 / SDRT: 0 / PDRT: 20.0K|
  27. | WSS: [ 0] -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0 -> 0
  28. MEM(SUM) | VmPeak: 1.7G, VmHWM: 54.2M, VmData: 175.5M, HugetlbPages: 0, RssAnon: 24.7M, RssFile: 19.0M, RssShmem: 0 |
  29. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  30. [ TOTAL ]| 0.0( 0/ 0)| RSS: 43.0M|Swp: 0| 0( -/ -/ 0)| Yld: -| Prmt: -| Task: 1|
  31. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py btrace -g a.out -H
  2. _start/0x55e321d151ee [/home/peacelee/test/a.out]
  3. __libc_start_main/0x7ffb520af0b3 [/lib/x86_64-linux-gnu/libc-2.31.so]
  4. main/0x55e321d15478 [/home/peacelee/test/a.out]
  5. printPeace/0x55e321d15451 [/home/peacelee/test/a.out]
  6. printPeace2/0x55e321d15392 [/home/peacelee/test/a.out]
  7. asdfasdfasdfasdfasdfasdfasfdasdfasdfasdfasdfasdfasdfas/0x55e321d152e2 [/home/peacelee/test/a.out]
  8. 0.000384 read@GLIBC_2.26/0x7ffb52199130(-0x1,0x0,0x0,0x0,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]
  9. 0.000391 close@GLIBC_2.4/0x7ffb52199970(-0x1,0x0,0xffffffffffffff80,0x0,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]
  10. 0.000398 printf/0x7ffb520ece10(0x55e321d1600a,0x9,0xffffffffffffff80,0x0,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]
  11. 0.000405 __vfprintf_internal/0x7ffb521019e0(0x7ffb522746a0,0x55e321d1600a,0x7fff41688b40,0x55e321d1600a,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]
  12. 0.000412 __strchrnul_sse2/0x7ffb5213c820(0x55e321d1600a,0x25,0x7fff41688b40,0x55e321d1600a,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]
  13. 0.000420 _IO_new_file_xsputn/0x7ffb5211a750(0x7ffb522746a0,0x55e321d1600a,0x3,0x55e321d1600a,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]
  14. 0.000426 __mempcpy_sse2_unaligned_erms/0x7ffb52146d00(0x55e322290330,0x55e321d1600a,0x3,0x55e321d1600a,0x0,0x5) [/lib/x86_64-linux-gnu/libc-2.31.so]
  15. 0.000432 _itoa_word/0x7ffb520e6760(0x9,0x7fff41688af8,0xa,0x55e321d1600e,-0x1,0x3) [/lib/x86_64-linux-gnu/libc-2.31.so]
  16. 0.000439 _IO_new_file_xsputn/0x7ffb5211a750(0x7ffb522746a0,0x7fff41688af7,0x1,0x55e321d1600e,0x0,0x3) [/lib/x86_64-linux-gnu/libc-2.31.so]
  17. 0.000446 __mempcpy_sse2_unaligned_erms/0x7ffb52146d00(0x55e322290333,0x7fff41688af7,0x1,0x55e321d1600e,0x0,0x3) [/lib/x86_64-linux-gnu/libc-2.31.so]
  18. 0.000452 __strchrnul_sse2/0x7ffb5213c820(0x55e321d1600f,0x25,0x1,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]
  19. 0.000458 _IO_new_file_xsputn/0x7ffb5211a750(0x7ffb522746a0,0x55e321d1600f,0x1,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]
  20. 0.000464 __mempcpy_sse2_unaligned_erms/0x7ffb52146d00(0x55e322290334,0x55e321d1600f,0x1,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]
  21. 0.000471 _IO_file_overflow@GLIBC_2.2.5/0x7ffb5211bf00(0x7ffb522746a0,-0x1,0xc00,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]
  22. 0.000480 _IO_do_write@GLIBC_2.2.5/0x7ffb5211ba20(0x7ffb522746a0,0x55e322290330,0x5,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]
  23. 0.000486 _IO_file_write@GLIBC_2.2.5/0x7ffb52119fe0(0x7ffb522746a0,0x55e322290330,0x5,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]
  24. 0.000493 write@GLIBC_2.2.5/0x7ffb521991d0(0x1,0x55e322290330,0x5,0x55e321d1600f,0x0,0x4) [/lib/x86_64-linux-gnu/libc-2.31.so]

>

  1. # python3 guider/guider.py btrace -g yes -H -c "*|getret"
  2. 0.532473 0x2cf0/0x560d7fd28cf0(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]
  3. 0.532488 0x4c40/0x560d7fd2ac40(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]
  4. 0.532501 write@GLIBC_2.2.5/0x7faab22f1040(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/lib/x86_64-linux-gnu/libc-2.31.so]
  5. 0.532516 write@GLIBC_2.2.5[RET]=0x2000(8192)/0.000015 -> 0x4c40/0x560d7fd26000 [/usr/bin/yes]
  6. 0.532557 0x4c40[RET]=0x2000(8192)/0.000069 -> 0x2cf0/0x560d7fd26000 [/usr/bin/yes]
  7. 0.532618 0x2cf0[RET]=0x2000(8192)/0.000145 -> 0x2580/0x560d7fd26000 [/usr/bin/yes]
  8. 0.532678 0x2cf0/0x560d7fd28cf0(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]
  9. 0.532691 0x4c40/0x560d7fd2ac40(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]
  10. 0.532706 write@GLIBC_2.2.5/0x7faab22f1040(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/lib/x86_64-linux-gnu/libc-2.31.so]
  11. 0.532721 write@GLIBC_2.2.5[RET]=0x2000(8192)/0.000015 -> 0x4c40/0x560d7fd26000 [/usr/bin/yes]
  12. 0.532798 0x4c40[RET]=0x2000(8192)/0.000107 -> 0x2cf0/0x560d7fd26000 [/usr/bin/yes]
  13. 0.532881 0x2cf0[RET]=0x2000(8192)/0.000204 -> 0x2580/0x560d7fd26000 [/usr/bin/yes]
  14. 0.532946 0x2cf0/0x560d7fd28cf0(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]
  15. 0.532961 0x4c40/0x560d7fd2ac40(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/usr/bin/yes]
  16. 0.532975 write@GLIBC_2.2.5/0x7faab22f1040(0x1,0x560d81815440,0x2000,0x7faab23c8640,0x560d81815440,0x7c) [/lib/x86_64-linux-gnu/libc-2.31.so]
  17. 0.532990 write@GLIBC_2.2.5[RET]=0x2000(8192)/0.000015 -> 0x4c40/0x560d7fd26000 [/usr/bin/yes]
  18. 0.533067 0x4c40[RET]=0x2000(8192)/0.000106 -> 0x2cf0/0x560d7fd26000 [/usr/bin/yes]
  19. 0.533194 0x2cf0[RET]=0x2000(8192)/0.000248 -> 0x2580/0x560d7fd26000 [/usr/bin/yes]

>

  1. $ python3 guider/guider.py rtop &
  2. $ cat /tmp/guider.report
  3. {
  4. "task": {
  5. "nrThread": 397,
  6. "nrBlocked": 0,
  7. "nrCtx": 4290,
  8. "nrProc": 292
  9. },
  10. "mem": {
  11. "kernel": 1432,
  12. "anonDiff": -1,
  13. "pgRclmFg": 0,
  14. "cache": 35332,
  15. "slabDiff": 0,
  16. "free": 26929,
  17. "anon": 698,
  18. "pgDirty": 28,
  19. "file": 31751,
  20. "freeDiff": -1,
  21. "pgRclmBg": 0,
  22. "total": 64391,
  23. "slab": 3581,
  24. "fileDiff": -1
  25. "procs": {
  26. "1954": {
  27. "text": 0,
  28. "pid": 1954,
  29. "rank": 2,
  30. "comm": "ruby1.9.1",
  31. "runtime": "110:43:32",
  32. "rss": 104
  33. },
  34. },
  35. "storage": {
  36. "total": {
  37. "read": 0,
  38. "mount": {},
  39. "favail": 133443655,
  40. "free": 1141633,
  41. "write": 1,
  42. "usage": 1152423,
  43. "total": 2294056,
  44. "usageper": 50
  45. },
  46. "/dev/sdb1": {
  47. "read": 0,
  48. "mount": {
  49. "path": "/mnt/hdd1",
  50. "fs": "ext4",
  51. "option": "rw,relatime,data=ordered"
  52. },
  53. "favail": 50709466,
  54. "free": 293649,
  55. "write": 0,
  56. "usage": 645251,
  57. "total": 938900,
  58. "usageper": 68
  59. },
  60. },
  61. "system": {
  62. "load5m": 2.38,
  63. "uptime": 4191643.92,
  64. "nrSoftIrq": 7405,
  65. "nrIrq": 7289,
  66. "load15m": 0.84,
  67. "interval": 1.029999999795109,
  68. "pid": 14578,
  69. "load1m": 9.39
  70. },
  71. "event": {
  72. "CPU_INTENSIVE": {
  73. "14592": {
  74. "kernel": 0,
  75. "runtime": "0:0:47",
  76. "pid": 14592,
  77. "rank": 3,
  78. "comm": "yes",
  79. "user": 99,
  80. "total": 100
  81. },
  82. "14593": {
  83. "kernel": 0,
  84. "runtime": "0:0:46",
  85. "pid": 14593,
  86. "rank": 10,
  87. "comm": "yes",
  88. "user": 99,
  89. "total": 100
  90. },
  91. },
  92. "swap": {
  93. "usage": 76,
  94. "total": 65491,
  95. "usageDiff": 0
  96. },
  97. "net": {
  98. "inbound": 1479,
  99. "outbound": 392
  100. },
  101. "cpu": {
  102. "kernel": 0,
  103. "iowait": 0,
  104. "nrCore": 24,
  105. "idle": 8,
  106. "user": 91,
  107. "irq": 0,
  108. "total": 92,
  109. "procs": {
  110. "14592": {
  111. "kernel": 0,
  112. "runtime": "0:0:47",
  113. "pid": 14592,
  114. "rank": 3,
  115. "comm": "yes",
  116. "user": 99,
  117. "total": 100
  118. },
  119. },
  120. "block": {
  121. "read": 0,
  122. "write": 0,
  123. "procs": {},
  124. "nrMajFlt": 0,
  125. "ioWait": 0
  126. }
  127. }

>

  1. # python3 guider/guider.py limitcpu -g yes:50 -v
  2. [Info] limited cpu usage of yes(22371) process to 50%, it used 50%
  3. [WARN] <guider(574420)> started 1th guider(574420)
  4. [WARN] <guider(574420)> 1th guider(574420) took 0.421747 seconds to finish one job

>

  1. # python3 guider/guider.py sigtrace -g a.out
  2. 0.000929 [SIGABRT] {code=SI_TKILL, pid=signal(6858)|addr=0x1aca, uid=root(0), status=0}
  3. [INFO] load /usr/lib/x86_64-linux-gnu/libc.so.6... [done]
  4. [INFO] load /home/iipeace/test/a.out... [done]
  5. ==========================================================================================================================================================
  6. Backtrace Info [a.out(6858)<-a.out(6858)]
  7. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  8. pthread_kill@GLIBC_2.34+300/0x7f9656bd29fc[/usr/lib/x86_64-linux-gnu/libc.so.6]
  9. gsignal@GLIBC_2.13+22/0x7f9656b7e476[/usr/lib/x86_64-linux-gnu/libc.so.6]
  10. abort@GLIBC_2.2.5+211/0x7f9656b647f3[/usr/lib/x86_64-linux-gnu/libc.so.6]
  11. 0x893e0+662/0x7f9656bc5676[/usr/lib/x86_64-linux-gnu/libc.so.6]
  12. __fortify_fail@GLIBC_2.2.5+42/0x7f9656c7259a[/usr/lib/x86_64-linux-gnu/libc.so.6]
  13. __stack_chk_fail+22/0x7f9656c72566[/usr/lib/x86_64-linux-gnu/libc.so.6]
  14. main+64/0x55a53b20e1f5[/home/iipeace/test/a.out]
  15. 0x29d10+128/0x7f9656b65d90[/usr/lib/x86_64-linux-gnu/libc.so.6]
  16. __libc_start_main@GLIBC_2.2.5+128/0x7f9656b65e40[/usr/lib/x86_64-linux-gnu/libc.so.6]
  17. [.text]+37/0x55a53b20e0a5[/home/iipeace/test/a.out]
  18. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  19. 0.001051 +++ exited a.out(6858) with 6(SIGABRT) +++

>

  1. # python3 guider/guider.py setsched r:90:yes
  2. [Info] changed the priority of yes(22371) to 90[R]

>

  1. # python3 guider/guider.py remote -g a.out -c usercall:write#1#HOOK#4
  2. [usercall] write(7f94ed747140)(1, HOOK, 4) = 0x4(4)

>

  1. # python3 guider/guider.py printenv -g systemd
  2. [ systemd(1) ]
  3. -----------------------------------------------------------------------------
  4. HOME=/
  5. init=/sbin/init
  6. NETWORK_SKIP_ENSLAVED=
  7. recovery=
  8. TERM=linux
  9. drop_caps=
  10. BOOT_IMAGE=/boot/vmlinuz-5.3.0-28-generic
  11. PATH=/sbin:/usr/sbin:/bin:/usr/bin
  12. PWD=/
  13. rootmnt=/root
  14. [ systemd(3310) ]
  15. -----------------------------------------------------------------------------
  16. LANG=en_US.UTF-8
  17. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  18. NOTIFY_SOCKET=/run/systemd/notify
  19. HOME=/home/syjung
  20. LOGNAME=syjung
  21. USER=syjung
  22. SHELL=/bin/bash
  23. INVOCATION_ID=bbc56cc8552e4a1d815197e0a6160270
  24. JOURNAL_STREAM=9:10617556
  25. XDG_RUNTIME_DIR=/run/user/1002
  26. [ systemd(7094) ]
  27. -----------------------------------------------------------------------------
  28. LANG=en_US.UTF-8
  29. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  30. NOTIFY_SOCKET=/run/systemd/notify
  31. HOME=/home/peacelee
  32. LOGNAME=peacelee
  33. USER=peacelee
  34. SHELL=/bin/bash
  35. INVOCATION_ID=be65ebdd72964e09a3ac06495261702b
  36. JOURNAL_STREAM=9:31410
  37. XDG_RUNTIME_DIR=/run/user/1004

>

  1. # python3 guider/guider.py kill -stop yes
  2. [Info] sent SIGSTOP to yes(10594)

>

  1. # python3 guider/guider.py printbind -g yes
  2. [Function Bind Info] [Target: yes(410113)]
  3. ==========================================================================================================================================================
  4. Path Type Sym[Bind/Vis] => Link
  5. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  6. [/usr/bin/yes]
  7. NOTYPE _ITM_deregisterTMCloneTable@GLIBC_2.2.5[WEAK/DEFAULT] => NONE
  8. NOTYPE _ITM_registerTMCloneTable@GLIBC_2.2.5[WEAK/DEFAULT] => NONE
  9. FUNC __ctype_b_loc@GLIBC_2.2.5[GLOBAL/DEFAULT] => __ctype_b_loc/0x7f474b600400[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x37400]
  10. FUNC __cxa_atexit@GLIBC_2.2.5[GLOBAL/DEFAULT] => __cxa_atexit@GLIBC_2.2.5/0x7f474b612f60[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x49f60]
  11. FUNC __cxa_finalize@GLIBC_2.2.5[WEAK/DEFAULT] => __cxa_finalize@GLIBC_2.2.5/0x7f474b613090[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x4a090]
  12. FUNC __fpending@GLIBC_2.2.5[GLOBAL/DEFAULT] => __fpending@GLIBC_2.2.5/0x7f474b658f80[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x8ff80]
  13. FUNC __fprintf_chk[GLOBAL/DEFAULT] => __fprintf_chk@GLIBC_2.14/0x7f474b6fa110[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x131110]
  14. FUNC __freading@GLIBC_2.2.5[GLOBAL/DEFAULT] => __freading@GLIBC_2.2.5/0x7f474b658e90[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x8fe90]
  15. NOTYPE __gmon_start__@GLIBC_2.14[WEAK/DEFAULT] => NONE
  16. FUNC __libc_start_main@GLIBC_2.2.5[GLOBAL/DEFAULT] => __libc_start_main@GLIBC_2.2.5/0x7f474b5effc0[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x26fc0]
  17. FUNC __printf_chk@GLIBC_2.2.5[GLOBAL/DEFAULT] => __printf_chk@GLIBC_2.2.5/0x7f474b6fa040[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x131040]
  18. FUNC __stack_chk_fail@GLIBC_2.2.5[GLOBAL/DEFAULT] => __stack_chk_fail@GLIBC_2.2.5/0x7f474b6fbb00[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x132b00]
  19. FUNC _exit@GLIBC_2.2.5[GLOBAL/DEFAULT] => _Exit@GLIBC_2.3/0x7f474b6af290[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0xe6290]
  20. FUNC abort@GLIBC_2.2.5[GLOBAL/DEFAULT] => abort@GLIBC_2.2.5/0x7f474b5ee72e[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x2572e]
  21. FUNC bindtextdomain@GLIBC_2.2.5[GLOBAL/DEFAULT] => bindtextdomain@GLIBC_2.2.5/0x7f474b600920[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x37920]
  22. FUNC calloc[GLOBAL/DEFAULT] => calloc@GLIBC_2.2.5/0x7f474b667c90[/usr/lib/x86_64-linux-gnu/libc-2.31.so/0x9ec90]
  23. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py rec -a -e m,b
  2. [Thread Info] [ Elapsed: 2.050 ] [ Start: 2849868.198 ] [ Running: 112 ] [ CtxSwc: 3357 ] [ LogSize: 4054 KB ] [ Unit: Sec/MB/NR ]
  3. ==========================================================================================================================================================
  4. __________Thread Info___________|_____________CPU Info______________|______SCHED Info______|________BLOCK Info________|_____________MEM Info_____________|
  5. | | | | |
  6. Name( Tid/ Pid)|LF|Usage( %)|Delay( Max)|Pri| IRQ | Yld| Lose|Steal| Mig| Read( MB/ Cnt)|WCnt( MB)| Sum(Usr/Buf/Ker)|Rcl|Wst|DRcl(Nr)|
  7. ==========================================================================================================================================================
  8. # CPU: 12
  9. CORE/0(-----/-----)|--| 0.00( 0.1)| 0.00( 0.00)| 0| 0.00| 7| -| -| -| 0.00( 0/ 1)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
  10. CORE/1(-----/-----)|--| 0.00( 0.1)| 0.10( 0.00)| 0| 0.00| 147| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
  11. CORE/2(-----/-----)|--| 0.00( 0.1)| 0.16( 0.00)| 0| 0.00| 211| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
  12. CORE/3(-----/-----)|--| 0.00( 0.1)| 0.11( 0.00)| 0| 0.00| 181| -| -| -| 0.00( 0/ 0)| 32( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
  13. CORE/4(-----/-----)|--| 0.00( 0.1)| 0.11( 0.00)| 0| 0.00| 232| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
  14. CORE/5(-----/-----)|--| 0.30( 14.8)| 0.18( 0.00)| 0| 0.00| 179| -| -| -| 1.26( 6/ 495)| 19( 0)| 61( 57/ 0/ 3)| 0| 0|0.00( 0)|
  15. CORE/6(-----/-----)|--| 0.00( 0.0)| 0.35( 0.00)| 0| 0.00| 57| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
  16. CORE/7(-----/-----)|--| 0.00( 0.0)| 0.60( 0.00)| 0| 0.00| 100| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
  17. CORE/8(-----/-----)|--| 0.00( 0.0)| 0.44( 0.00)| 0| 0.00| 59| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
  18. CORE/9(-----/-----)|--| 0.00( 0.0)| 1.94( 0.00)| 0| 0.00| 37| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
  19. CORE/10(-----/-----)|--| 0.07( 3.4)| 0.00( 0.00)| 0| 0.00| 2| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
  20. CORE/11(-----/-----)|--| 0.00( 0.0)| 2.05( 0.00)| 0| 0.00| 39| -| -| -| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
  21. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  22. # Hot: 4
  23. synergyc( 3604/ 3602)| | 0.17( 8.5)| 0.00( 0.00)| 0| 0.00| 3| 14| 3| 0| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
  24. arm-starfish-li(16087/16087)| | 0.13( 6.3)| 0.00( 0.00)| 0| 0.00| 0| 20| 157| 4| 1.26( 6/ 496)| 0( 0)| 61( 57/ 0/ 3)| 0| 0|0.00( 0)|
  25. guider(16088/16088)| | 0.07( 3.4)| 0.00( 0.00)|R90| 0.00| 2| 0| 2| 0| 0.00( 0/ 0)| 0( 0)| 0( 0/ 0/ 0)| 0| 0|0.00( 0)|
  26. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py iorec -s
  2. # python3 guider/guider.py report -a
  3. [Thread Block Info] (Unit: NR)
  4. ==========================================================================================================================================================
  5. ID OPT NrDev TOTAL SEQUENTIAL( %) FS PATH
  6. [ACCESS] COUNT
  7. ==========================================================================================================================================================
  8. TOTAL READ 8:3 131.8M 131.3M( 99.6) - /dev/sda3
  9. [ 4.0K - 7.0K] 370
  10. [ 16.0K - 31.0K] 11
  11. [ 32.0K - 63.0K] 6
  12. [ 64.0K - 127.0K] 5
  13. [ 128.0K - 255.0K] 1037
  14. 253:0 131.8M 131.3M( 99.6) ext4 / <rw,relatime>
  15. [ 4.0K - 7.0K] 370
  16. [ 16.0K - 31.0K] 11
  17. [ 32.0K - 63.0K] 6
  18. [ 64.0K - 127.0K] 5
  19. [ 128.0K - 255.0K] 1037
  20. WRITE 253:0 40.0K 20.0K( 50.0) ext4 / <rw,relatime>
  21. [ 4.0K - 7.0K] 10
  22. 8:3 24.0K 20.0K( 83.3) - /dev/sda3
  23. [ 4.0K - 7.0K] 6
  24. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  25. guider(4011197) READ 8:3 100.0M 100.0M(100.0) - /dev/sda3
  26. [ 16.0K - 31.0K] 2
  27. [ 32.0K - 63.0K] 1
  28. [ 64.0K - 127.0K] 1
  29. [ 128.0K - 255.0K] 799
  30. 253:0 100.0M 100.0M(100.0) ext4 / <rw,relatime>
  31. [ 16.0K - 31.0K] 2
  32. [ 32.0K - 63.0K] 1
  33. [ 64.0K - 127.0K] 1
  34. [ 128.0K - 255.0K] 799
  35. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  36. [Thread FS Info] (Unit: NR)
  37. ==========================================================================================================================================================
  38. ID OPT NrDev INODE Size FS PATH
  39. ==========================================================================================================================================================
  40. TOTAL WRITE 16.0K
  41. 253:0 16.0K ext4 / <rw,relatime>
  42. 0 16.0K
  43. READ 131.8M
  44. 0:3 1.4M ? ?
  45. 0 1.4M
  46. 253:0 130.4M ext4 / <rw,relatime>
  47. 24520383 100.0M /home/peacelee/guider/guider/TEST2[100.0M]
  48. 24520372 20.0M /home/peacelee/guider/guider/TEST[20.0M]
  49. 24520353 10.0M /home/peacelee/guider/guider/TEST3[10.0M]
  50. 6030383 84.0K
  51. 6819964 72.0K
  52. 6029790 68.0K
  53. 6031485 44.0K
  54. 6031543 40.0K
  55. 6819797 16.0K
  56. 6035523 16.0K
  57. 0 16.0K
  58. 6818557 4.0K
  59. 6818689 4.0K
  60. 7078584 4.0K
  61. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  62. guider(4011197) READ 100.0M
  63. 253:0 100.0M ext4 / <rw,relatime>
  64. 24520383 100.0M /home/peacelee/guider/guider/TEST2[100.0M]
  65. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  66. guider(4011193) READ 20.0M
  67. 253:0 20.0M ext4 / <rw,relatime>
  68. 24520372 20.0M /home/peacelee/guider/guider/TEST[20.0M]
  69. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py iorec -s
  2. # python3 guider/guider.py report -q RALIST
  3. # python3 guider/guider.py readahead readahead.list
  4. [INFO] start readahead from '/home/peacelee/guider/guider/readahead.list'
  5. [INFO] changed the CPU scheduling priority for guider(4011281) to 10[C]
  6. [INFO] changed the I/O scheduling priority for guider(4011281) to IOPRIO_CLASS_IDLE(0)[IOPRIO_WHO_PROCESS]
  7. [INFO] finished readahead a total of 130.0M data for 0.002 sec

>

  1. # python3 guider/guider.py sysrec
  2. [Thread Syscall Info] (Unit: Sec/NR)
  3. ==========================================================================================================================================================
  4. Name( Tid) Syscall( ID) Elapsed Count Error Min Max Avg
  5. ==========================================================================================================================================================
  6. arm-linux-gnuea( 3000)
  7. close( 3) 0.039396 69 0 0.000001 0.005353 0.000571
  8. stat( 4) 0.011521 74 0 0.000001 0.009423 0.000156
  9. fchmod( 91) 0.000046 3 0 0.000002 0.000039 0.000015
  10. getpriority(140) 0.000017 33 0 0.000000 0.000001 0.000001
  11. lgetxattr(192) 0.000014 3 0 0.000003 0.000008 0.000005
  12. recvfrom( 45) 0.000004 1 0 0.000004 0.000004 0.000004
  13. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  14. guider( 3001)
  15. pause( 34) 0.283474 1 1 0.283474 0.283474 0.283474
  16. select( 23) 0.100122 1 0 0.100122 0.100122 0.100122
  17. write( 1) 0.000234 6 0 0.000031 0.000059 0.000039
  18. open( 2) 0.000084 7 0 0.000007 0.000038 0.000012
  19. ioctl( 16) 0.000009 14 14 0.000001 0.000001 0.000001
  20. fstat( 5) 0.000006 14 0 0.000001 0.000001 0.000000
  21. lseek( 8) 0.000006 21 0 0.000000 0.000001 0.000000
  22. close( 3) 0.000005 7 0 0.000000 0.000001 0.000001
  23. rt_sigaction( 13) 0.000001 1 0 0.000001 0.000001 0.000001
  24. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  25. mysqld( 3237)
  26. futex(202) 0.000000 1 0 0.000000 0.000000 0.000000
  27. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  28. mysqld( 3238)
  29. futex(202) 0.000002 1 0 0.000002 0.000002 0.000002
  30. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  31. screen( 9045)
  32. select( 23) 0.000082 4 0 0.000004 0.000069 0.000021
  33. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py rec -e L
  2. [Thread Futex Lock Info] [ Elapsed : 1.225 ] (Unit: Sec/NR)
  3. ==========================================================================================================================================================
  4. Name( Tid/ Pid) Elapsed Process Block NrBlock CallMax Lock LockMax NrLock NrWait LBlock NrLBlock LastStat
  5. ==========================================================================================================================================================
  6. mysqld( 3236/ 3208) 0.469 0.000 0.469 1 0.469 0.000 0.000 0 1 0.000 0 Wait
  7. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  8. mysqld( 3237/ 3208) 0.890 0.000 0.890 1 0.890 0.000 0.000 0 1 0.000 0 Wait
  9. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  10. mysqld( 3238/ 3208) 1.075 0.000 1.075 1 1.075 0.000 0.000 0 1 0.000 0 Wait
  11. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  12. [Thread File Lock Info] (Unit: Sec/NR)
  13. ==========================================================================================================================================================
  14. Name( Tid) Wait Lock nrTryLock nrLocked
  15. ==========================================================================================================================================================
  16. smbd( 2631) 0.000 0.000 3 3
  17. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py rec -s . -K openfile:getname::**string
  2. [Thread KERNEL Event Info]
  3. ==========================================================================================================================================================
  4. Event Comm( Tid ) Usage Count ProcMax ProcMin InterMax InterMin
  5. ==========================================================================================================================================================
  6. openfile TOTAL( - ) 0.000729 1012 0.000013 0.000001 1.979834 0.000109
  7. ps(10728) 0.000640 968 0.000013 0.000000 0.001636 0.000006
  8. python2(10727) 0.000038 26 0.000004 0.000001 1.979834 0.000020
  9. tmux( 6959) 0.000031 9 0.000006 0.000003 0.299492 0.201316
  10. PassengerAgent(23183) 0.000008 5 0.000002 0.000001 0.007375 0.000109
  11. sendmail-mta( 3419) 0.000007 2 0.000006 0.000001 0.000077 0.000077
  12. PassengerAgent(10729) 0.000003 1 0.000003 0.000003 0.000000 0.000000
  13. smbd(11086) 0.000002 1 0.000002 0.000002 0.000000 0.000000
  14. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  15. [Thread KERNEL Event History]
  16. ==========================================================================================================================================================
  17. EVENT TYPE TIME COMM( TID) CALLER ELAPSED ARG
  18. ==========================================================================================================================================================
  19. openfile EXIT 0.063942 tmux( 6959) porch_do_sys_open 0.000003 1>"/proc/7969/cmdline"
  20. openfile ENTER 0.137626 python2(10727) -
  21. openfile EXIT 0.137628 python2(10727) porch_do_sys_open 0.000002 1>"/sys/kernel/debug/tracing/trace"
  22. openfile ENTER 0.363431 tmux( 6959) -
  23. openfile EXIT 0.363437 tmux( 6959) porch_do_sys_open 0.000006 1>"/proc/7197/cmdline"
  24. openfile ENTER 0.510452 smbd(11086) -
  25. openfile EXIT 0.510454 smbd(11086) porch_do_sys_open 0.000002 1>"/var/log/samba/log.jhkim-z97x-ud3h"
  26. openfile ENTER 0.564845 tmux( 6959) -
  27. openfile EXIT 0.564848 tmux( 6959) porch_do_sys_open 0.000003 1>"/proc/7969/cmdline"
  28. openfile ENTER 0.864255 tmux( 6959) -
  29. openfile EXIT 0.864258 tmux( 6959) porch_do_sys_open 0.000003 1>"/proc/7197/cmdline"
  30. openfile ENTER 1.065571 tmux( 6959) -
  31. openfile EXIT 1.065574 tmux( 6959) porch_do_sys_open 0.000003 1>"/proc/7969/cmdline"
  32. openfile ENTER 1.364980 tmux( 6959) -
  33. openfile EXIT 1.364984 tmux( 6959) porch_do_sys_open 0.000004 1>"/proc/7197/cmdline"
  34. openfile ENTER 1.437128 sendmail-mta( 3419) -
  35. openfile EXIT 1.437134 sendmail-mta( 3419) porch_do_sys_open 0.000006 1>"/proc/loadavg"
  36. openfile ENTER 1.437205 sendmail-mta( 3419) -
  37. openfile EXIT 1.437206 sendmail-mta( 3419) porch_do_sys_open 0.000001 1>"/proc/loadavg"
  38. openfile ENTER 1.566369 tmux( 6959) -
  39. openfile EXIT 1.566372 tmux( 6959) porch_do_sys_open 0.000003 1>"/proc/7969/cmdline"
  40. openfile ENTER 1.865776 tmux( 6959) -
  41. openfile EXIT 1.865779 tmux( 6959) porch_do_sys_open 0.000003 1>"/proc/7197/cmdline"
  42. openfile ENTER 1.955265 PassengerAgent(10729) -
  43. openfile EXIT 1.955268 PassengerAgent(10729) porch_do_sys_open 0.000003 1>"/dev/fd"
  44. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py funcrec -s .
  2. # python3 guider/guider.py report -a
  3. # cat guider.out
  4. [Function CPU Info] [Cnt: 394] [Interval: 8ms] (USER)
  5. ==========================================================================================================================================================
  6. __Usage__|___________________Function____________________|_____________________________________________Binary_____________________________________________
  7. ==========================================================================================================================================================
  8. 99.0% | cpuTest | /media/disk/work/test/a.out
  9. + 100.0% | <- startTest [/media/disk/work/test/a.out] <- main [/media/disk/work/test/a.out]
  10. <- __libc_start_main [/lib/x86_64-linux-gnu/libc-2.19.so]
  11. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  12. 0.5% | memset | /lib/x86_64-linux-gnu/libc-2.19.so
  13. + 100.0% | <- startTest [/media/disk/work/test/a.out] <- main [/media/disk/work/test/a.out]
  14. <- __libc_start_main [/lib/x86_64-linux-gnu/libc-2.19.so]
  15. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  16. 0.3% | _int_malloc | /lib/x86_64-linux-gnu/libc-2.19.so
  17. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  18. 0.3% | 00007f756e3e7ee4 | ??
  19. + 100.0% | <- 000000000044676f [/media/disk/work/test/a.out]
  20. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  21. [Function CPU Info] [Cnt: 394] [Interval: 8ms] (KERNEL)
  22. ==========================================================================================================================================================
  23. __Usage__|____________________________________________________________________Function____________________________________________________________________
  24. ==========================================================================================================================================================
  25. 100.0% | hrtimer_interrupt
  26. + 99.5% | <- local_apic_timer_interrupt <- smp_apic_timer_interrupt <- apic_timer_interrupt
  27. + 0.3% | <- local_apic_timer_interrupt <- smp_apic_timer_interrupt <- apic_timer_interrupt <- do_page_fault <- page_fault
  28. + 0.3% | <- local_apic_timer_interrupt <- smp_apic_timer_interrupt <- apic_timer_interrupt <- __do_fault <- handle_mm_fault <- __do_page_fault
  29. <- do_page_fault <- page_fault
  30. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py funcrec -e m -s .
  2. # python3 guider/guider.py report -a
  3. # cat guider.out
  4. [Function Page Info] [Total: 11.4M] [Alloc: 11.4M(817)] [Free: 188.0K(47)] (USER)
  5. ==========================================================================================================================================================
  6. Usage ( Usr / Buf / Ker )|___________________Function____________________|________________LifeTime________________|______________Binary_______________
  7. ==========================================================================================================================================================
  8. 10256K( 2048/ 0/ 8208)| memset | AVR: 1.563 / MIN: 1.560 / MAX: 1.568 | /lib/x86_64-linux-gnu/libc-2.19.so
  9. + 10256K( 2048/ 0/ 8208)| <- startTest [/media/disk/work/test/a.out] <- main [/media/disk/work/test/a.out]
  10. <- __libc_start_main [/lib/x86_64-linux-gnu/libc-2.19.so]
  11. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  12. 960K( 956/ 0/ 4)| _int_malloc | AVR: 1.559 / MIN: 1.554 / MAX: 1.560 | /lib/x86_64-linux-gnu/libc-2.19.so
  13. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  14. 56K( 16/ 0/ 40)| 00007f756e3e81e7 | AVR: 1.569 / MIN: 1.568 / MAX: 1.569 | ??
  15. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  16. 44K( 36/ 0/ 8)| sysmalloc | AVR: 1.560 / MIN: 1.558 / MAX: 1.568 | /lib/x86_64-linux-gnu/libc-2.19.so
  17. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  18. 12K( 12/ 0/ 0)| elf_machine_rela_relative | AVR: 1.568 / MIN: 1.568 / MAX: 1.568 | /lib/x86_64-linux-gnu/ld-2.19.so
  19. + 12K( 12/ 0/ 0)| <- dl_main [/lib/x86_64-linux-gnu/ld-2.19.so] <- _dl_sysdep_start [/lib/x86_64-linux-gnu/ld-2.19.so]
  20. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  21. 8K( 8/ 0/ 0)| realloc | AVR: 1.568 / MIN: 1.568 / MAX: 1.568 | /lib/x86_64-linux-gnu/ld-2.19.so
  22. + 4K( 4/ 0/ 0)| <- _dl_map_object [/lib/x86_64-linux-gnu/ld-2.19.so]
  23. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  24. 8K( 4/ 0/ 4)| dl_main | AVR: 1.568 / MIN: 1.568 / MAX: 1.568 | /lib/x86_64-linux-gnu/ld-2.19.so
  25. + 8K( 4/ 0/ 4)| <- _dl_sysdep_start [/lib/x86_64-linux-gnu/ld-2.19.so]
  26. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  27. [Function Page Info] [Total: 11.4K] [Alloc: 11.4K(817)] [Free: 188.0K(47)] (KERNEL)
  28. ==========================================================================================================================================================
  29. Usage ( Usr / Buf / Ker )|___________________Function____________________|__________________________________LifeTime__________________________________
  30. ==========================================================================================================================================================
  31. 8192K( 0/ 0/ 8192)| do_huge_pmd_anonymous_page | AVR: 1.563 / MIN: 1.562 / MAX: 1.564
  32. + 8192K( 0/ 0/ 8192)| <- handle_mm_fault <- __do_page_fault <- do_page_fault <- page_fault
  33. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  34. 3084K( 3084/ 0/ 0)| handle_mm_fault | AVR: 1.563 / MIN: 1.554 / MAX: 1.569
  35. + 3076K( 3076/ 0/ 0)| <- __do_page_fault <- do_page_fault <- page_fault
  36. + 4K( 4/ 0/ 0)| <- __get_user_pages <- get_user_pages <- copy_strings.isra.17 <- copy_strings_kernel <- do_execve_common.isra.23
  37. <- SyS_execve <- stub_execve
  38. + 4K( 4/ 0/ 0)| <- __do_page_fault <- do_page_fault <- page_fault <- load_elf_binary <- search_binary_handler
  39. <- do_execve_common.isra.23 <- SyS_execve <- stub_execve
  40. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. # python3 guider/guider.py filerec
  2. [File Usage Info] [File: 213] [RAM: 175.2M] [Reclaim: 0/0] [Uptime: 1d:01:42:33] [Keys: Foward/Back/Save/Quit]
  3. ==========================================================================================================================================================
  4. __RAM___|__File__|__%__|__PSS___|____________________________________________________Library & Process____________________________________________________
  5. ==========================================================================================================================================================
  6. 39.1M | 39.1M | 100 | 39.1M | /var/lib/snapd/snaps/snapd_21184.snap [Proc: 1] [Link: 1] [Open: 1]
  7. | snapfuse ( 125) |
  8. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  9. 5.3M | 8.0M | 66 | 5.3M | /var/log/journal/758ca7c4e01db1a1cae9325f634ab22a/system.journal [Proc: 1] [Link: 1] [Open: 1]
  10. | systemd-journal ( 56) |
  11. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  12. 5.2M | 5.2M | 100 | 5.2M | /home/iipeace/guider/guider/.guider.py.swp [Proc: 1] [Link: 1] [Open: 1]
  13. | vi ( 6732) |
  14. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  15. 5.1M | 5.6M | 90 | 2.5M | /usr/bin/python3.10 [Proc: 2] [Link: 1] [Map: 2]
  16. | networkd-dispat ( 178) | unattended-upgr ( 341) |
  17. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  18. 3.8M | 4.2M | 89 | 434.7K | /usr/lib/x86_64-linux-gnu/libcrypto.so.3 [Proc: 9] [Link: 1] [Map: 9]
  19. | systemd ( 1) | systemd-journal ( 56) | systemd-udevd ( 85) | systemd-network ( 172) |
  20. | systemd-logind ( 190) | udisksd ( 198) | systemd-resolve ( 262) | sshd ( 829) |
  21. | packagekitd ( 3858) |
  22. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  23. 3.7M | 8.0M | 46 | 3.7M | /var/log/journal/758ca7c4e01db1a1cae9325f634ab22a/user-1000.journal [Proc: 1] [Link: 1] [Open: 1]
  24. | systemd-journal ( 56) |
  25. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. NODE1> # python3 guider/guider.py top -X -x localhost:5555
  2. NODE2> # python3 guider/guider.py top top -N PRINT@localhost:5555
  3. NODE3> # python3 guider/guider.py top top -N PRINT@localhost:5555
  4. ANON(172.30.191.41:37152)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  5. [Top Info] [Time: 4600.640] [Inter: 1.0] [Ctxt: 303] [Life: +0/-0] [IRQ: 41] [Core: 8] [Task: 45/77] [Load: 0/0/0] [Free: 1.3G] [RAM: 1.9G] [Swap: 2.0G] [Bat: 94%/00:00:00/+] [Crash: 0/0/1]
  6. ==========================================================================================================================================================
  7. ID | CPU(Usr/Ker/Blk/IRQ/Stl)|MemAvl(Per/ User/ Cache/ Kern)| Swap( Per/ In/Out)| PgRclm | BlkRW | NrFlt |Blk|SIRQ| PgMlk | PgDirt | NetIO |
  8. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  9. Total | 1 %( 0/ 0/ 0/ 0/ 0)| 1404( 28/ 150/ 244/ 225)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 0| 0 | 1 | 4K/4K |
  10. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  11. CPU [ ] MEM [########### ] SWAP [ ]|
  12. ==========================================================================================================================================================
  13. Process ( PID/PPID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS( RSS/Txt/Shr/Swp)| Blk( RD/ WR/NrFlt)| SID| USER| FD| LifeTime| Parent|
  14. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  15. guider ( 956/ 619/ 1/C 0)| 2( 1/ 1/ -)| 27( 18/ 0/ 6/ 0)| 0( -/ -/ 0)| 618| root| 256| 00:00:04| bash(619)|
  16. screen ( 601/ 600/ 1/C 0)| 1( 1/ 0/ -)| 8( 3/ 0/ 2/ 0)| 0( -/ -/ 0)| 601|iipeac| 64| 01:15:38| screen(600)|
  17. vi ( 683/ 602/ 1/C 0)| 1( 0/ 1/ -)| 30( 19/ 2/ 6/ 0)| 0( -/ -/ 0)| 602|iipeac| 256| 01:09:20| bash(602)|
  18. guider ( 953/ 683/ 1/C 0)| 1( 1/ 0/ -)| 26( 18/ 2/ 6/ 0)| 0( -/ -/ 0)| 602|iipeac| 64| 00:00:06| vi(683)|
  19. guider ( 959/ 936/ 1/C 0)| 1( 0/ 1/ -)| 26( 18/ 2/ 6/ 0)| 0( -/ -/ 0)| 936|iipeac| 256| 00:00:03| bash(936)|
  20. [ TOTAL ]| 6.0( 3/ 3)| RSS: 76.0M|Swp: 0| 0( -/ -/ 0)| Yld: -| Prmt: -| Task: 5|
  21. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  22. ANON(172.30.191.42:5555)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  23. [Top Info] [Time: 9200.610] [Inter: 1.0] [Ctxt: 3115] [Life: +0/-0] [IRQ: 321] [Core: 4] [Task: 48/177] [Load: 0/0/0] [Free: 2.1G] [RAM: 2.9G] [Swap: 1.0G] [Bat: 4%/00:00:00/+] [Crash: 0/0/10]
  24. ==========================================================================================================================================================
  25. ID | CPU(Usr/Ker/Blk/IRQ/Stl)|MemAvl(Per/ User/ Cache/ Kern)| Swap( Per/ In/Out)| PgRclm | BlkRW | NrFlt |Blk|SIRQ| PgMlk | PgDirt | NetIO |
  26. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  27. Total | 1 %( 0/ 0/ 0/ 0/ 0)| 1404( 28/ 150/ 244/ 225)| 0( 0/ 0/ 0)| 0/0 | 0/0 | 0 | 0 | 0| 0 | 1 | 3K/3K |
  28. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  29. CPU [ ] MEM [########### ] SWAP [ ]|
  30. ==========================================================================================================================================================
  31. Process ( PID/PPID/ Nr/ Pri)| CPU(Usr/Ker/Dly)| VSS( RSS/Txt/Shr/Swp)| Blk( RD/ WR/NrFlt)| SID| USER| FD| LifeTime| Parent|
  32. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  33. guider (1056/ 610/ 1/C 0)| 1( 0/ 0/ -)| 29( 17/ 2/ 6/ 0)| 0( -/ -/ 0)| 698| root| 256| 00:01:01| bash(622)|
  34. [ TOTAL ]| 1.0( 0/ 0)| RSS: 17.0M|Swp: 0| 0( -/ -/ 0)| Yld: -| Prmt: -| Task: 1|
  35. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. $ python3 guider/guider.py topsum "*.out" -q CLASSIFYGROUP
  2. [Class Group Info] (Target: CPU) (NrTotal: 11) (NrSample: 11) (NrSamplePer: 100%) (NrGroup: 4)
  3. ==========================================================================================================================================================
  4. Cnt ( %) Avg Min Max Sys Group
  5. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  6. 5 ( 45) 305 127 421 14 chrome+guider+yes
  7. 4 ( 36) 499 499 501 14 guider+yes
  8. 1 ( 9) 339 339 339 17 chrome+yes
  9. 1 ( 9) 132 132 132 17 chrome+compiz+yes
  10. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  11. [Class Task Info] (Target: CPU) (NrTotal: 11) (NrSample: 11) (NrSamplePer: 100%) (NrProc: 4)
  12. ==========================================================================================================================================================
  13. Cnt ( %) Avg Min Max Sys Prio Task
  14. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  15. 30 (272) 100 100 100 15 C0 yes
  16. 14 (127) 13 5 22 15 C0 chrome
  17. 10 ( 90) 80 4 101 14 C0 guider
  18. 1 ( 9) 7 7 7 17 C0 compiz
  19. ----------------------------------------------------------------------------------------------------------------------------------------------------------

>

  1. $ python3 guider/guider.py top -o guider.out
  2. $ python3 guider/guider.py draw guider.out

>

graph
chart

>

  1. # python3 guider/guider.py rec -s guider.dat
  2. # python3 guider/guider.py draw guider.dat

>

timeline

>

  1. # python3 guider/guider.py utop -g testTask -H -o guider.out
  2. # python3 guider/guider.py drawflame guider.out

>

flamegraph

>

  1. $ python3 guider/guider.py top -o test1.out
  2. $ python3 guider/guider.py top -o test2.out
  3. $ python3 guider/guider.py top -o test3.out
  4. $ python3 guider/guider.py drawavg "test1.out" "test2.out" "test3.out"
  5. $ python3 guider/guider.py drawavg "test*.out"

>

drawavg

>

  1. $ python3 guider/guider.py req "https://www.google.com|https://www.naver.com" -R 1000 -o guider.out
  2. $ python3 guider/guider.py drawreq guider.out

>

drawreq

>

  1. $ python3 guider/guider.py top -o test1.out
  2. $ python3 guider/guider.py top -o test2.out
  3. $ python3 guider/guider.py top -o test3.out
  4. $ python3 guider/guider.py drawviolin "test.out" "test2.out" "test3.out"
  5. $ python3 guider/guider.py drawviolin "test*.out"

>

violingraph

>

  1. $ python3 guider/guider.py top -o test1.out
  2. $ python3 guider/guider.py top -o test2.out
  3. $ python3 guider/guider.py top -o test3.out
  4. $ python3 guider/guider.py drawhist "test.out" "test2.out" "test3.out"
  5. $ python3 guider/guider.py drawhist "test*.out"

>

histogram
histogram

>

  1. webservice

>

dashboard

How to use

  1. To view a list of all commands supported by Guider, use one of the following commands:
  2. $ python3 guider/guider.py --help
  3. $ python3 -m guider --help
  4. $ guider --help
  5. To start tracing for all threads:
  6. # python3 guider/guider.py rec -a
  7. To start tracing for all threads:
  8. $ python3 guider/guider.py top -a
  9. To view options and examples for each command:
  10. $ python3 guider/guider.py rec -h
  11. $ python3 guider/guider.py top -h
  12. For more information and detailed usage examples, visit the Guider Wiki.
  13. - https://github.com/iipeace/guider/wiki

Build & Installation

  1. To install Guider via pip, use one of these commands:
  2. # pip3 install guider # Standard installation
  3. # pip3 install guider --no-deps # Without dependencies
  4. # pip3 install guider --force-reinstall # Reinstall if already installed
  5. After installation, start Guider with:
  6. # python3 -m guider
  7. # guider
  8. If pip is not available, you can download Guider's source code from GitHub and start it with:
  9. # python3 guider/guider.py
  10. To build and install from source for improved performance, use:
  11. # cd guider && make && make install

Pre-built versions of Guider are available at https://repology.org/project/guider/versions.

Kernel Configuration

  1. Enable kernel options as below to take advantage of all profile features,
  2. And if CONFIG_STRICT_MEMORY_RWX is enabled then disable it
  3. CONFIG_RING_BUFFER
  4. CONFIG_FTRACE
  5. CONFIG_TRACING
  6. CONFIG_TRACING_SUPPORT
  7. CONFIG_EVENT_TRACING
  8. CONFIG_NOP_TRACER
  9. CONFIG_TRACEPOINTS
  10. CONFIG_DYNAMIC_FTRACE
  11. CONFIG_HAVE_DYNAMIC_FTRACE
  12. CONFIG_FTRACE_SYSCALLS
  13. CONFIG_HAVE_SYSCALL_TRACEPOINTS
  14. CONFIG_TRACE_IRQFLAGS
  15. CONFIG_TRACE_IRQFLAGS_SUPPORT
  16. CONFIG_STACKTRACE
  17. CONFIG_STACKTRACE_SUPPORT
  18. CONFIG_USER_STACKTRACE_SUPPORT
  19. CONFIG_FUNCTION_TRACER
  20. CONFIG_FUNCTION_GRAPH_TRACER
  21. CONFIG_UPROBES
  22. CONFIG_UPROBE_EVENT
  23. CONFIG_KPROBES
  24. CONFIG_KPROBE_EVENTS
  25. CONFIG_TASKSTATS
  26. CONFIG_TASK_DELAY_ACCT
  27. CONFIG_TASK_XACCT
  28. CONFIG_TASK_IO_ACCOUNTING
  29. CONFIG_PERF_EVENTS
  30. CONFIG_HW_PERF_EVENT

Help

  1. Usage:
  2. $ ./guider COMMAND [OPTIONS] [--help]
  3. COMMAND(182):
  4. [CONTROL] cgroup <Cgroup> (Linux/Android)
  5. freeze <Thread> (Linux/Android)
  6. hook <Function> (Linux/Android)
  7. kill/tkill <Signal> (Linux/Android/MacOS)
  8. limitcpu <CPU> (Linux/Android)
  9. limitcpuset <Core> (Linux/Android)
  10. limitcpuw <CPU> (Linux/Android)
  11. limitmem <Memory> (Linux/Android)
  12. limitmemsoft <Memory> (Linux/Android)
  13. limitpid <Task> (Linux/Android)
  14. limitread <I/O> (Linux/Android)
  15. limitwrite <I/O> (Linux/Android)
  16. pause <Thread> (Linux/Android)
  17. remote <Command> (Linux/Android)
  18. rlimit <Resource> (Linux/Android)
  19. setafnt <Affinity> (Linux/Android)
  20. setcpu <Core> (Linux/Android)
  21. setsched <Priority> (Linux/Android)
  22. [LOG] logand <System> (Android)
  23. logdlt <DLT> (Linux)
  24. logjrl <Journal> (Linux)
  25. logkmsg <Kernel> (Linux/Android)
  26. logsys <Syslog> (Linux)
  27. logtrace <Ftrace> (Linux/Android)
  28. printand <System> (Android)
  29. printdlt <DLT> (Linux/MacOS/Windows)
  30. printjrl <Journal> (Linux)
  31. printkmsg <Kernel> (Linux/Android)
  32. printsyslog <Syslog> (Linux)
  33. printtrace <Ftrace> (Linux/Android)
  34. [MONITOR] andtop <Log> (Android)
  35. atop <All> (Linux/Android)
  36. attop <Atrace> (Android)
  37. bdtop <Binder> (Android)
  38. bgtop <Background> (Linux/Android/MacOS/Windows)
  39. btop <Function> (Linux/Android)
  40. cgtop <Cgroup> (Linux/Android)
  41. contop <Container> (Linux/Android)
  42. ctop <Threshold> (Linux/Android/MacOS/Windows)
  43. dbustop <D-Bus> (Linux)
  44. disktop <Storage> (Linux/Android/MacOS/Windows)
  45. dlttop <DLT> (Linux/MacOS)
  46. fetop <File> (Linux/Android)
  47. ftop <File> (Linux/Android/MacOS)
  48. gfxtop <GFX> (Android)
  49. irqtop <IRQ> (Linux/Android)
  50. kstop <Stack> (Linux/Android)
  51. ktop <Function> (Linux/Android)
  52. mdtop <Memory> (Android)
  53. mtop <Memory> (Linux/Android)
  54. ntop <Network> (Linux/Android/MacOS/Windows)
  55. ptop <PMU> (Linux/Android)
  56. pytop <Python> (Linux/Android)
  57. rtop <JSON> (Linux/Android/MacOS/Windows)
  58. slabtop <Slab> (Linux/Android)
  59. stacktop <Stack> (Linux/Android)
  60. systop <Syscall> (Linux/Android)
  61. top <Process> (Linux/Android/MacOS/Windows)
  62. tptop <Ftrace> (Linux/Android)
  63. trtop <Tree> (Linux/Android)
  64. ttop <Thread> (Linux/Android)
  65. utop <Function> (Linux/Android)
  66. vtop <Memory> (Linux/Android)
  67. wtop <WSS> (Linux/Android)
  68. [NETWORK] cli <Client> (Linux/Android/MacOS/Windows)
  69. event <Event> (Linux/Android)
  70. fserver <File> (Linux/Android/MacOS/Windows)
  71. hserver <Http> (Linux/Android/MacOS/Windows)
  72. list <List> (Linux/Android/MacOS/Windows)
  73. send <UDP> (Linux/Android/MacOS/Windows)
  74. server <Server> (Linux/Android/MacOS)
  75. start <Signal> (Linux/Android)
  76. [PROFILE] filerec <File> (Linux/Android)
  77. funcrec <Function> (Linux/Android)
  78. genrec <System> (Linux/Android)
  79. hprof <Memory> (Android)
  80. iorec <I/O> (Linux/Android)
  81. mem <Page> (Linux/Android)
  82. rec <Thread> (Linux/Android)
  83. report <Report> (Linux/Android/MacOS/Windows)
  84. sperf <Function> (Android)
  85. sysrec <Syscall> (Linux/Android)
  86. [TEST] cputest <CPU> (Linux/Android/MacOS/Windows)
  87. helptest <HELP> (ALL)
  88. iotest <Storage> (Linux/Android/MacOS/Windows)
  89. memtest <Memory> (Linux/Android/MacOS/Windows)
  90. nettest <Network> (Linux/Android)
  91. [TRACE] btrace <Function> (Linux/Android)
  92. leaktrace <Leak> (Linux/Android)
  93. mtrace <Memory> (Linux/Android)
  94. pytrace <Python> (Linux/Android)
  95. sigtrace <Signal> (Linux/Android)
  96. stat <PMU> (Linux/Android)
  97. strace <Syscall> (Linux/Android)
  98. utrace <Function> (Linux/Android)
  99. [UTIL] addr2sym <Symbol> (Linux/Android/MacOS/Windows)
  100. andcmd <Command> (Android)
  101. bugrec <Report> (Android)
  102. bugrep <Report> (Android)
  103. checkdup <Page> (Linux/Android)
  104. comp <Compress> (Linux/Android/MacOS/Windows)
  105. convlog <Log> (Linux/Android/MacOS/Windows)
  106. decomp <Decompress> (Linux/Android/MacOS/Windows)
  107. demangle <Demangling> (Linux/Android/MacOS/Windows)
  108. dirdiff <Dir> (Linux/Android/MacOS/Windows)
  109. dump <Memory> (Linux/Android)
  110. elftree <ELF> (Linux/Android/MacOS/Windows)
  111. exec <Command> (Linux/Android/MacOS/Windows)
  112. fadvise <File> (Linux/Android)
  113. flush <Memory> (Linux/Android)
  114. getafnt <Affinity> (Linux/Android)
  115. getpid <PID> (Linux/Android)
  116. getprop <Property> (Android)
  117. less <Pager> (Linux/Android/MacOS/Windows)
  118. merge <File> (Linux/Android/MacOS/Windows)
  119. mkcache <Cache> (Linux/Android/MacOS/Windows)
  120. mnttree <Mount> (Linux/Android)
  121. mount <Mount> (Linux/Android)
  122. ping <ICMP> (Linux/Android/MacOS/Windows)
  123. print <File> (Linux/Android/MacOS/Windows)
  124. printbind <Function> (Linux/Android)
  125. printboot <Boot> (Android)
  126. printcg <Cgroup> (Linux/Android)
  127. printdbus <D-Bus> (Linux)
  128. printdbusintro <D-Bus> (Linux)
  129. printdbusstat <D-Bus> (Linux)
  130. printdbussub <D-Bus> (Linux)
  131. printdir <Dir> (Linux/Android/MacOS/Windows)
  132. printenv <Env> (Linux/Android)
  133. printext <Ext4> (Linux/Android/MacOS/Windows)
  134. printinfo <System> (Linux/Android)
  135. printkconf <kernel> (Linux/Android)
  136. printns <Namespace> (Linux/Android)
  137. printsdfile <Systemd> (Linux)
  138. printsdinfo <Systemd> (Linux)
  139. printsdunit <Systemd> (Linux)
  140. printsig <Signal> (Linux/Android)
  141. printslab <Slab> (Linux/Android)
  142. printvma <Vmalloc> (Linux/Android)
  143. ps <Process> (Linux/Android/MacOS/Windows)
  144. pstree <Process> (Linux/Android/MacOS/Windows)
  145. readahead <File> (Linux/Android)
  146. readelf <File> (Linux/Android/MacOS/Windows)
  147. req <URL> (Linux/Android/MacOS/Windows)
  148. scrcap <Capture> (Android)
  149. scrrec <Record> (Android)
  150. setprop <Property> (Android)
  151. split <File> (Linux/Android/MacOS/Windows)
  152. strings <Text> (Linux/Android/MacOS/Windows)
  153. sym2addr <Address> (Linux/Android/MacOS/Windows)
  154. sync <File> (Linux/Android)
  155. sysrq <sysrq> (Linux/Android)
  156. systat <Status> (Linux/Android)
  157. topdiff <Diff> (Linux/Android/MacOS/Windows)
  158. topsum <Summary> (Linux/Android/MacOS/Windows)
  159. umount <Unmount> (Linux/Android)
  160. watch <File> (Linux/Android)
  161. watchprop <Property> (Android)
  162. [VISUAL] convert <Text> (Linux/MacOS/Windows)
  163. draw <System> (Linux/MacOS/Windows)
  164. drawavg <Average> (Linux/MacOS/Windows)
  165. drawbitmap <Bitmap> (Linux/MacOS/Windows)
  166. drawcpu <CPU> (Linux/MacOS/Windows)
  167. drawcpuavg <CPU> (Linux/MacOS/Windows)
  168. drawdelay <Delay> (Linux/MacOS/Windows)
  169. drawdiff <Diff> (Linux/MacOS/Windows)
  170. drawflame <Function> (Linux/MacOS/Windows)
  171. drawflamediff <Function> (Linux/MacOS/Windows)
  172. drawhist <Histogram> (Linux/MacOS/Windows)
  173. drawio <I/O> (Linux/MacOS/Windows)
  174. drawleak <Leak> (Linux/MacOS/Windows)
  175. drawmem <Memory> (Linux/MacOS/Windows)
  176. drawmemavg <Memory> (Linux/MacOS/Windows)
  177. drawpri <Prio> (Linux/MacOS/Windows)
  178. drawreq <URL> (Linux/MacOS/Windows)
  179. drawrss <RSS> (Linux/MacOS/Windows)
  180. drawrssavg <RSS> (Linux/MacOS/Windows)
  181. drawstack <System> (Linux/MacOS/Windows)
  182. drawtime <Timeline> (Linux/MacOS/Windows)
  183. drawviolin <Data> (Linux/MacOS/Windows)
  184. drawvss <VSS> (Linux/MacOS/Windows)
  185. drawvssavg <VSS> (Linux/MacOS/Windows)
  186. FILE:
  187. Profile file (e.g. guider.dat)
  188. Report file (e.g. guider.out)
  189. Options:
  190. Check COMMAND with --help (e.g. ./guider top --help)