2

我编写了一个基于命令行的应用程序,并希望在每个模块运行时对其进行分析。它是一个单线程应用程序,模块是执行某些操作的函数调用。我需要测量函数花费的时间、函数的平均 cpu 使用量、函数的平均内存使用量。我可以通过测量系统时间以及调用前后的时间来测量所花费的时间。(或使用cprofile)但我无法弄清楚任何可以正确地给我其他数据的东西。我已经阅读了 python 中内置的资源模块,但我希望应用程序是跨平台的(windows 和 linux),并且资源模块在 linux 中不存在。我在考虑使用psutil,但阅读文档,我不认为它提供了我想要的。就像我在函数调用之前和之后调用 process.cpu_percent() 一样,它会给出函数的 cpu 使用率(两个 cpu 百分比调用之间的 cpu 使用率差异)还是那个时间点的 cpu 使用率。内存百分比似乎有点模棱两可。

如何使用 psutil 测量我想要的内容?或者我可以使用 psutil 吗?还是有更好的模块适合我想要的?

4

0 回答 0