1 个不稳定版本
0.3.0 | 2021年2月14日 |
---|
#8 in #gnuplot
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 gnuplot
或 brew 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 窗口并可视化数据
替代方案
pidstat
来自 sysstat 软件包 的纯记录,无绘图功能 - 用 C 语言编写,可能在大多数发行版的包管理器中可用- psrecord 是一个用于记录和绘图的 Python 工具(使用
matplotlib
)- 通过pip
安装
依赖关系
~5–14MB
~188K SLoC