Python中哪些流程控制工具应用广泛?
- 内容介绍
- 相关推荐
本文共计1309个文字,预计阅读时间需要6分钟。
在我们的工作中,DDAgent+Ver5是一款用于收集和报告托管服务器性能指标的工具,同时对DDAgent进行一定程序的定制。经过多次功能迭代,发现一批在线运行时间较长的托管服务器。
在我们的工作中,我们使用ddagent ver。5作为收集工具,收集和报告托管服务器的性能指标,并对ddagent进行一定程度的定制。经过多次功能迭代,发现一批在线运行时间长的托管服务器占用了太多内存。分析问题机器上进程树中每个节点的占用情况,可以看出ddagent集合进程的内存占用仍然很高。
我们将学习最基本的流程控制工具,比如
if 条件判断for 循环while 循环
作为保证业务系统稳定运行的监控组件,存在内存泄漏,这自然是非常严重的,所以我们开始了我们的“故障排除之旅”。
if-elif-else 判断
分析
有很多工具可以分析和导出Python程序的内存状态。在这里,我们使用pyrasite,它可以附加到正在运行的Python程序,生成内存快照,并检查当前哪些对象类型占用了多少内存,并从大到小排序。
使用命令非常简单: pyrasite-memory-viewer <PID>,同时会生成一份快照文件: /tmp/pyrasite-<PID>-objects.json。
由于无法提供真实的生产数据,下面提到的所有数据都来自问题版本在测试环境中运行12小时后的采样。
在pyrasite提供的Cui视图中,我们可以清楚地看到字典类型的对象实例占用的内存最多,达到3.4mb,有6621个实例:
while 循环
While循环也是一种常见的循环方式。
本文共计1309个文字,预计阅读时间需要6分钟。
在我们的工作中,DDAgent+Ver5是一款用于收集和报告托管服务器性能指标的工具,同时对DDAgent进行一定程序的定制。经过多次功能迭代,发现一批在线运行时间较长的托管服务器。
在我们的工作中,我们使用ddagent ver。5作为收集工具,收集和报告托管服务器的性能指标,并对ddagent进行一定程度的定制。经过多次功能迭代,发现一批在线运行时间长的托管服务器占用了太多内存。分析问题机器上进程树中每个节点的占用情况,可以看出ddagent集合进程的内存占用仍然很高。
我们将学习最基本的流程控制工具,比如
if 条件判断for 循环while 循环
作为保证业务系统稳定运行的监控组件,存在内存泄漏,这自然是非常严重的,所以我们开始了我们的“故障排除之旅”。
if-elif-else 判断
分析
有很多工具可以分析和导出Python程序的内存状态。在这里,我们使用pyrasite,它可以附加到正在运行的Python程序,生成内存快照,并检查当前哪些对象类型占用了多少内存,并从大到小排序。
使用命令非常简单: pyrasite-memory-viewer <PID>,同时会生成一份快照文件: /tmp/pyrasite-<PID>-objects.json。
由于无法提供真实的生产数据,下面提到的所有数据都来自问题版本在测试环境中运行12小时后的采样。
在pyrasite提供的Cui视图中,我们可以清楚地看到字典类型的对象实例占用的内存最多,达到3.4mb,有6621个实例:
while 循环
While循环也是一种常见的循环方式。

