#cpu-memory #pid #rss #gnuplot #recorder #进程监控 #vsize

app procrec

记录/绘图进程的 CPU 和内存使用情况

1 个不稳定版本

0.3.0 2021年2月14日

#8 in #gnuplot

GPL-3.0-or-later

135KB
214 代码行

procrec

一个简单的进程 CPU 和内存使用情况的记录器。

目前支持 Linux 和 macos。结果以机器可解析的格式输出到 stdout,或可以直接使用 gnuplot 绘图(必须已在 $PATH 中)。

安装

遗憾的是,clap 3.0 尚未发布到 crates.io。因此,以下操作(尚不可用)

cargo install procrec

因此,需要从 GitHub 手动安装

$ git clone https://github.com/gh0st42/procrec
$ cargo install --path .

如果您需要绘图功能,还需要通过您的包管理器安装 gnuplot(例如,sudo apt install gnuplotbrew install gnuplot)。

用法

帮助

$ procrec -h
procrec 0.2.2
Lars Baumgaertner
Process recorder to log cpu utilization and memory consumption

USAGE:
    procrec [FLAGS] [OPTIONS] --pid <pid>

FLAGS:
    -g, --graph            Display graph using gnuplot
    -h, --help             Prints help information
    -t, --print-gnuplot    Just print gnuplot script
    -v, --verbose          A level of verbosity, and can be used multiple times
    -V, --version          Prints version information

OPTIONS:
    -d, --duration <duration>    Duration for observation
    -i, --interval <interval>    Sampling interval in seconds [default: 2]
    -p, --pid <pid>              Process to be inspected

示例

特定进程的交互式记录

$ pgrep iTerm
4730
4742
4748
4769
4772

$ procrec -p 4730 -g -i 1 -v
0.00 PID 1119 CPU% 4.32 RSS 549793 VSIZE 10123419
1.00 PID 1119 CPU% 7.84 RSS 549863 VSIZE 10123137
2.01 PID 1119 CPU% 2.96 RSS 549830 VSIZE 10119688
3.01 PID 1119 CPU% 2.47 RSS 547377 VSIZE 10087645
4.01 PID 1119 CPU% 3.65 RSS 547340 VSIZE 10091315
5.01 PID 1119 CPU% 3.31 RSS 547340 VSIZE 10091315
6.01 PID 1119 CPU% 2.63 RSS 547377 VSIZE 10087645
7.01 PID 1119 CPU% 3.87 RSS 539983 VSIZE 10074480
8.01 PID 1119 CPU% 3.34 RSS 539992 VSIZE 10074480
9.02 PID 1119 CPU% 2.68 RSS 540028 VSIZE 10070810
10.02 PID 1119 CPU% 3.75 RSS 539992 VSIZE 10074480
11.02 PID 1119 CPU% 3.43 RSS 539451 VSIZE 10073919
^C12.03 PID 1119 CPU% 8.01 RSS 272269 VSIZE 9775452

之后会弹出一个 gnuplot 窗口并可视化数据

gnuplot screenshot

替代方案

  • pidstat 来自 sysstat 软件包 的纯记录,无绘图功能 - 用 C 语言编写,可能在大多数发行版的包管理器中可用
  • psrecord 是一个用于记录和绘图的 Python 工具(使用 matplotlib)- 通过 pip 安装

依赖关系

~5–14MB
~188K SLoC