问题标签 [guppy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
30 浏览

python - python - 查找泄漏对象

我有一个大型的 python 代码库。

在某一时刻,我发现(使用guppy但这并不重要)我有一个现有的 class 实例BigClass

在代码的这一点上,我不希望有任何活的实例,BigClass因为它们都应该被释放。我试着打电话gc.collect()

我如何追查这个实例在哪里,为什么它还活着,它的属性等等?

0 投票
1 回答
74 浏览

python - 如 guppy 所述,长期运行项目的奇怪内存消耗

我有一个长期运行的 Python 项目,它的内存使用量缓慢但持续增加。如果主脚本需要处理大量工作并且主进程和子进程都在无限运行(或者直到删除目标作业),则主脚本会设置新进程(使用多处理)。

为了尝试了解内存泄漏的来源,我使用该guppy模块来分析我的内存,然后让每个进程每两分钟将内存配置文件写入一个文件。

在检查内存配置文件时,我看到只有一种类型的内存在增加 - list。其余类型中的值基本上是静态的(有时高一点,有时低一点)。

例如,以下是其中一个流程的报告:

如果任何其他类型的内存数量或大小会增加,我可能会告诉哪个列表是内存泄漏的罪魁祸首,但因为只是list大小增加,我不确定我应该如何处理并找到哪个列表是泄漏的来源。

此外,我所有属于类实例的列表要么受大小限制,要么每个间隔都被清除(并且我确保调用了 clear )。我在函数内部创建的其他列表,我希望一旦它们不再在范围内就会被删除。

我错过了什么吗?非常感谢

0 投票
1 回答
933 浏览

guppy - 运行 guppy basecaller 时的 CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE

我试图运行 ONT basecaller guppy。我之前已经多次运行此代码,没有任何问题。现在(重新启动后)它正在产生错误消息:

[guppy/error] main: CUDA error at /builds/ofan/ont_core_cpp/ont_core/common/cuda_common.cpp:203: CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE [guppy/warning] main: An error occurred in the basecaller. Aborting.

这是一个兼容性问题,如果是,我该怎么做才能解决它?我正在使用 Ubuntu 18.04.4 LTS (GNU/Linux 5.4.0-72-generic x86_64) 和 Guppy Basecalling Software,(C) Oxford Nanopore Technologies, Limited。版本 4.0.14+8d3226e,客户端-服务器 API 版本 2.1.0

这是我的孔雀鱼代码:

guppy_basecaller -i fast5/pass -r --device cuda:0 -s hac_fastqs_demul -c /opt/ont/ont-guppy/data/dna_r9.4.1_450bps_hac.cfg --num_callers 4 --require_barcodes_both_ends --trim_barcodes --detect_mid_strand_barcodes --barcode_kits "EXP-PBC001"

0 投票
0 回答
61 浏览

python - 为什么 guppy3 和 memory_profiler 差异如此之大?

我已经使用 memory_profiler 和 guppy3 来分析我的 python 程序的内存使用情况,但得到了完全不同的结果。我的实验侧重于多处理,所以这里让我给你看一个简单的例子:

假设我们有一个列表:l = [(1, 2), (3, 4), (5, 6), (7, 8), (9, 10), (2, 3), (4, 5), (6, 7), (8, 9)] 和一个函数:

和另一个多处理功能:

然而 guppy3 的结果显示如下:

创建对象后的内存使用量:0.3077840805053711 MB

memory_profiler 显示如下: mprof plot 整体

任何想法?对于分析 python 中的多处理内存使用情况,您有什么建议吗?