Python 的内存泄露,内存直接爆炸

2017-02-09 17:32:19 +08:00
 qsnow6
````
import time
b_time = bytes(int(time.time()))
print(b_time)
````

ubuntu 16.04 64bit下,一运行,内存直接爆炸
7652 次点击
所在节点    Python
53 条回复
abc950309
2017-02-09 17:53:43 +08:00
刚刚重启完电脑,表示不作死就不会死…………
这是什么原理啊…………
sleshep
2017-02-09 17:57:42 +08:00
bytes 输入数字表示创建一个长度为此数字的缓冲区,
当前时间戳很大,所以缓冲区很大,不就内存溢出了,
那不叫泄露,不要乱写标题
binux
2017-02-09 18:03:19 +08:00
python3 的 bytes(n) 的意思是,创建一个 size 为 n 的对象
karlakte
2017-02-09 18:07:15 +08:00
这就嘬死 不叫泄漏
phrack
2017-02-09 18:11:16 +08:00
申请太多内存了。

也遇到过,感兴趣的是,为什么没有一个机制强行停止这个操作,当时一执行直接爆炸,按啥都没卵用。
BruceAuyeung
2017-02-09 18:24:51 +08:00
@phrack ulimit
aprikyblue
2017-02-09 18:26:29 +08:00
你先查查啥叫内存泄漏
Mirana
2017-02-09 18:56:14 +08:00
oom?
ericbize
2017-02-09 18:57:41 +08:00
<a href="http://imgur.com/dXfWmDp"><img src="" title="source: imgur.com" /></a>


内存:我的内心毫无波动
yanchao7511461
2017-02-09 18:58:45 +08:00
应该是内存耗完,不是泄漏
ericbize
2017-02-09 19:00:07 +08:00
楼主,要 python 3 吗 ?
longaiwp
2017-02-09 19:18:14 +08:00
这是个鬼泄露啊,这明显是申请过多好嘛
est
2017-02-09 19:26:48 +08:00
1. 你 bytes() 姿势不对
2. 有不爆炸的内存泄露吗?
a87150
2017-02-09 19:37:37 +08:00
我还以为是什么 bug ,原来是自己作死
wxjeacen
2017-02-09 20:04:18 +08:00
确实是自己作死。
weyou
2017-02-09 21:05:33 +08:00
没炸伤就好~
kn007
2017-02-09 21:09:22 +08:00
作死溢出。。
lhbc
2017-02-09 21:15:43 +08:00
楼主你穿越回 1970 年 1 月 1 号就没有这个 bug 了
neurocomputing
2017-02-09 21:23:14 +08:00
是啊,这不叫泄露,这叫作死
napsterwu
2017-02-09 21:33:40 +08:00
也就 1.5 个 G ?其实还好吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/339348

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX