完成后如何输出进程统计信息?

完成后如何输出进程统计信息?

我想在bashCygwin 中运行一个进程,以便在执行后获得一些简短的摘要,例如峰值内存使用率或平均 CPU 使用率,time但包含更多信息。

有什么选择吗?

答案1

您可以通过在 GNU 中运行命令来完成此操作time。默认情况下,时间显示real(挂钟)、user(用户模式中使用的 CPU 秒)和sys(内核模式中使用的 CPU 秒)数据项。但是,您还可以要求它测量其他内容,例如 RAM 和磁盘使用情况:

/usr/bin/time -f "File system outputs: %O\nMaximum RSS size: %M\nCPU percentage used: %P" <command>

其中<command>替换为您要运行的命令。输出将类似于:

File system outputs: 18992
Maximum RSS size: 40056
CPU percentage used: 367%

其中“CPU 使用百分比”是一个百分比,显示使用了 3.6 个核心,“最大 RSS 大小”与“使用的最大内存”最接近,以千字节为单位表示,“文件系统输出”以千字节为单位表示操作数(即,它没有说明写入了多少数据)。您给出的dudf命令应该有帮助。

注:你需要使用/usr/bin/time而不是仅仅使用time,因为许多 shell 都将其作为内置选项,但不一定支持该-f选项。

有关更多信息,请参阅man time

https://unix.stackexchange.com/a/331707/213127

Cygwin 也是如此:有一个内置的 bash,可以用 GNU 时间代替。

相关内容