草庐IT

memory-profiling

全部标签

python - Pympler 总结似乎没有意义

我正在使用Pympler进行一些合理性检查,以确保在尝试分析实际脚本时我理解结果,但我对结果有点困惑。以下是我尝试过的完整性检查:完整性检查1:我启动Python(3)控制台并执行以下操作:frompymplerimportsummary,muppysum=summary.summarize(muppy.get_objects())summary.print_(sum)这导致以下摘要:types|#objects|totalsize====================================|===========|============如果我刚刚启动了一个新的Pytho

python - netcdf4-python : memory increasing with numerous calls to slice data from netcdf object

我正在尝试使用netcdf4-python从netcdf4文件中读取数据切片。这是第一次使用python,我遇到了内存问题。下面是代码的简化版本。在循环的每次迭代中,内存跳转相当于我读取的数据片。如何在遍历每个变量时清理内存?#!/usr/bin/envpythonfromnetCDF4importDatasetimportosimportsysimportpsutilprocess=psutil.Process(os.getpid())defprint_memory_usage():nr_mbytes=process.get_memory_info()[0]/1048576.0sys

python - low_memory 和 memory_map 标志在 pd.read_csv 中做什么

pandas.read_csv的函数签名提供以下选项:read_csv(filepath_or_buffer,low_memory=True,memory_map=False,iterator=False,chunksize=None,...)我找不到任何关于low_memory或memory_map标志的文档。我很困惑这些功能是否已经实现,如果是的话它们是如何工作的。具体而言,memory_map:如果实现,它是否使用np.memmap,如果是,它是否将各个列存储为memmap或行。low_memory:它是否指定像cache这样的东西存储在内存中?我们可以将现有的DataFrame

python - 网络驱动程序异常 :can't load profile error in selenium python script

我在python中使用seleniumwebdriver来自动驱动Firefox,python脚本是从Firefox中的seleniumIDE附加组件导出的。但是当我运行脚本时它会引发错误:======================================================================ERROR:test_selenium(__main__.SeleniumTest)----------------------------------------------------------------------Traceback(mostrecen

python - 函数作为 Python 中的对象 : what exactly is stored in memory?

我已经使用Python解决实际问题有一段时间了,但我仍然没有对幕后发生的事情有正确的理论理解。例如,我很难理解Python如何将函数视为对象。我知道函数是“函数”类的对象,带有“调用”方法,并且我知道我可以通过为它们编写“调用方法”来使我的自定义类表现得像函数。但是我无法弄清楚在创建新函数时确切地存储在内存中的内容,以及如何访问存储的信息。为了进行实验,我编写了一个小脚本来创建许多函数对象并将它们存储在一个列表中。我注意到这个程序用了很多内存。funct_list=[]foriinrange(10000000):deffunct(n):returnn+ifunct_list.appen

python - django-debug-toolbar-line-profiler 只显示单行输出,没有内容

我有一个RaspberryPi位于远程位置。它连接到一个小型自制电路和一个温度探头。我设置了RaspberryPi来做一些事情:每小时运行一次cron作业以获取温度读数并将其存储在本地的sqlite数据库中运行Nginx网络服务器运行uwsgi应用服务器提供一个简单的Django应用在那个Django应用程序中,我有一个执行以下操作的简单View:点击数据库获取最近300条温度记录将它们放入PandasDataFrame使用Matplotlib生成近期温度历史的精美SVG图表填写一个简单的模板,该模板显示SVG以及最近温度读数的小型HTML表格。渲染此View大约需要30秒。很长一段时

python - Keras 与 TensorFlow : Use memory as it's needed [ResourceExhaustedError]

所以我试图用多个数据集来污染我的CNN并且当我添加足够的数据时(例如当我将多个集合作为一个集合添加或当我尝试添加具有超过一百万个样本的集合时)它会接缝抛出一个ResourceExhaustedError。至于说明here,我尝试添加fromkeras.backend.tensorflow_backendimportset_sessionimporttensorflowastfconfig=tf.ConfigProto()config.gpu_options.per_process_gpu_memory_fraction=0.3set_session(tf.Session(config=

python - 读取 Python 的 memory_profiler 的输出

我无法理解memory_profiler的输出。基本上,它看起来像这样:Filename:tspviz.pyLine#MemusageIncrementLineContents================================================734.589844MiB34.589844MiB@profile(precision=6)8defparse_arguments():934.917969MiB0.328125MiBa=[x**2forxinrange(10000)]在第9行我们可以清楚地看到,我们使用了一些内存。现在,我用sys.getsizeof

Python 聊天 : delete variables to clean memory in functions?

我正在用python和twisted框架创建一个聊天守护进程。而且我想知道当多个用户连接时,我是否必须删除我的函数中创建的每个变量以从长远来看节省内存,或者这些变量是否会自动清除?这是我的代码的精简版本,用于说明我的观点:classChat(LineOnlyReceiver):LineOnlyReceiver.MAX_LENGTH=500deflineReceived(self,data):self.sendMessage(data)defsendMessage(self,data):try:message=data.split(None,1)[1]exceptIndexError:r

python - 如何使用 Python 多处理和 memory_profiler 分析多个子进程?

我有一个使用Pythonmultiprocessing生成多个worker的实用程序模块,我希望能够通过出色的memory_profiler跟踪它们的内存使用情况实用程序,它可以做我想做的一切——特别是随着时间的推移对内存使用情况进行采样并绘制最终结果(我不关心这个问题的逐行内存分析)。为了设置这个问题,我创建了一个更简单的脚本版本,它有一个辅助函数,可以分配类似于example的内存。在memory_profiler库中给出。worker如下:importtimeX6=10**6X7=10**7defworker(num,wait,amt=X6):"""Afunctionthatal