1
SingeeKing 2021-06-15 20:30:47 +08:00
valgrind 你值得拥有
|
2
dingwen07 2021-06-15 20:33:18 +08:00 via iPhone
python 会自动销毁没有引用的对象,所以不会泄露
|
4
abersheeran 2021-06-15 20:48:31 +08:00 1
内存泄漏,就是程序中出现了非设计内的内存使用。
比如你给出一个 Python 函数的默认参数值是 `[]`,然后你又在函数内部直接往这个 list 增加内容了,导致这个列表占用的内存大小不断上升,且永不会被 Python GC 机制回收。这就是一种常见的 Python 程序内存泄漏情况。 |
5
AkideLiu 2021-06-16 01:54:00 +08:00 via iPhone
valgrind 可惜现在 bug sir 还没适配。之前 10.15 的时候 clion 陪 valgrind,memory leak 一抓一个准真好用
|
6
mingl0280 2021-06-16 07:27:14 +08:00 via Android
我以为你在说 C/C++,valgrind+address sanitizer 解决一切问题
|
7
zmxnv123 2021-06-16 09:04:47 +08:00 via iPhone
百度了很多文章来搞懂什么是 python 的内存泄露???
百度: 太看得起我了 |
8
zmxnv123 2021-06-16 09:06:16 +08:00 via iPhone
|
9
ch2 2021-06-16 11:52:39 +08:00
申请的内存脱离了代码的控制范围,如果进程不退出永远没法释放
|
10
lewinlan 2021-06-16 12:06:27 +08:00 via Android
说纯 python 不会的,建议再学学
|
11
ilucio 2021-06-16 17:40:32 +08:00
看下 Python 的 GC 是怎么回收对象的,如果一直不能被回收那就算泄露了
|
12
myCupOfTea 2021-06-17 08:54:18 +08:00
@lewinlan 是的,如果光 cache 不清除,然后 cache 不存在上限照样溢出,推荐楼主直接用 lru_cache
|
13
Leigg 2021-06-17 09:43:54 +08:00 via Android
存在没有错,但得经过我的允许,否则一律算泄露。
|