我有一个python进程(Pylons webapp)经常使用10-30%的CPU。我将改进/优化日志记录,以了解正在发生的事情,但在此之前,是否有任何工具/技术允许查看python进程在做什么、它有多少线程以及它有多忙等等?在
更新:
另一个更新:
经过大量的修补,在不同的地方粘贴profiler并熟悉了PasteScript的内部,我发现如果在没有“--reload”参数的情况下启动应用程序,恒定的CPU负载就会消失(这个标志告诉paster,如果代码发生变化,就重新启动自己,便于开发),这在生产环境中是很好的。在
Profiling可能会帮助您了解它在做什么。如果按“时间”对输出进行排序,您将看到哪些函数占用了cpu时间,这应该会给您一些很好的提示。在
如您所述,在重新加载模式下,Paste每秒都会扫描文件系统,以查看加载的任何文件是否已更改。如果有,则粘贴将重新加载进程。如果需要,还可以手动告诉Paste监视非Python代码模块的更改。在
您可以使用reload interval选项更改重新加载间隔,这将减少使用reload时的CPU使用率,因为它的扫描频率较低。在
相关问题 更多 >
编程相关推荐