【发布时间】:2011-06-16 12:49:09
【问题描述】:
我需要您的帮助来实现一些东西,以在 perl 程序执行期间或执行结束时监控 CPU/MEM 使用情况。
想象一个每 N 分钟运行一次的程序由另一个 Perl 程序启动,后者的执行时间可以从几秒到 1 分钟不等。如何获取执行此程序导致的 CPU/MEM 使用率。
一些要求是:
- 监控应该尽可能少地干扰 尽可能与执行 程序。
- 监控应至少使用 系统资源
- 尽可能独立于操作系统。应该 在 Linux、Win32、HP-UX、Solaris、 艾克斯。好的,但让我们先关注 Linux。
我曾想过一些方法:
- 实现我自己的 Devel::MyProfiler 并使用 -d 运行程序 “选项”。 (例如:$ perl -dMyProfiler 程序.pl)
- 实现获取统计信息的包装器 每 N 秒从 /proc/pid 或 "$ ps aux",并获取平均统计信息 在程序结束时
- 实现一个并行程序 每 N 秒生成一个“$ ps aux”
- 使用进程跟踪工具!!
- ???
任何提示都会有所帮助!!!
注意:这个问题也发布在http://perlmonks.com/?node_id=909934
Tks,
古尔登
【问题讨论】:
-
交叉发布到 Perlmonks:perlmonks.org/?node_id=909934
标签: perl statistics cpu profile