Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
除了标准库中包含的配置工具外,Linux上还有哪些用于Python的配置工具?_Python_Linux_Profiling - Fatal编程技术网

除了标准库中包含的配置工具外,Linux上还有哪些用于Python的配置工具?

除了标准库中包含的配置工具外,Linux上还有哪些用于Python的配置工具?,python,linux,profiling,Python,Linux,Profiling,我一直在使用Python的内置cProfile工具,并取得了相当好的成功。但我希望能够访问更多信息,例如我等待I/O的时间(以及我等待的I/O类型)或我有多少缓存未命中。除了您的基本时间命令之外,还有其他Linux工具可以帮助您实现这一点吗?我不确定python是否会提供您需要的底层信息。不过,您可能需要查看oprofile和latencytop。如果您想确切知道您在等待什么,以及大约有多少时间会告诉您。不过,它不会告诉您其他事情,如缓存未命中或内存泄漏。有趣的方法!有点像一个自己动手的采样分析

我一直在使用Python的内置cProfile工具,并取得了相当好的成功。但我希望能够访问更多信息,例如我等待I/O的时间(以及我等待的I/O类型)或我有多少缓存未命中。除了您的基本时间命令之外,还有其他Linux工具可以帮助您实现这一点吗?

我不确定python是否会提供您需要的底层信息。不过,您可能需要查看oprofile和latencytop。

如果您想确切知道您在等待什么,以及大约有多少时间会告诉您。不过,它不会告诉您其他事情,如缓存未命中或内存泄漏。

有趣的方法!有点像一个自己动手的采样分析器。@Jason:是的,在我看来,更好。证据就在布丁:如果分析器不仅对堆栈进行采样,而且1)保留样本,2)按包含它们的样本的百分比排序(忽略递归),并3)让您探索代表性样本,而不仅仅是总结,那么分析器可以做得更好。。。。我还没有看到一个案例、故事或场景,其中分析器被用来解决一系列性能问题,从而导致显著的加速。人们似乎乐于仔细研究数字,探索图表,在耗时的函数中翻找,发现并解决一个问题。@Mike Dunlavey:你的意思是,基本上操作起来就像每一个好的商业剖析器一样。(Quantify和vTune都向您显示单独的语句,如果您不介意占用大量内存的话,还可以保留样本)@Nick:从另一端看。假设你有一个无限循环,或者几乎如此。您需要多少随机时间堆栈样本才能找到它?一个,对吗?因为目标是在它做不该做的事情时抓住它,并找出那是什么。测量不是目的。假设它只需要两倍的时间,它需要多少样本?基本上,如果您看到它在做一些实际上不需要做的事情,只需使用两个示例,您就可以修复它以获得良好的加速。(有一小类问题是不会暴露出来的。大多数情况下是这样的。)