作者hsucheng (Marshall)
看板C_and_CPP
标题[问题] 如何知道什麽东西占用的空间最大?
时间Mon Aug 28 17:29:47 2017
开发平台(Platform): (Ex: Win10, Linux, ...)
Win7 VS2015
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
C++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
opencv
问题(Question):
目前做的题目是opencv的MLP类神经网路
要尝试非常多种隐藏层组合,所以有5层的巢状回圈
跑到最後记忆体16G也不够使用就crash了
想知道是甚麽东西占了空间,有甚麽方法可以查看哪个东西使用最多空间吗?
感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 163.18.57.175
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1503912589.A.B08.html
1F:嘘 Ommm5566: 我想是double 吧 他比float需要比较多空间 08/28 18:52
2F:推 s4300026: 我想是class 08/28 19:13
谢谢回应,我知道我的问题很LOW,
因为这支程式只是拿来验证用的,主要学的不是C++,
不知道为何一直累积记忆体,请问我还需要提供那些资讯呢?
※ 编辑: hsucheng (1.172.251.249), 08/28/2017 19:28:35
3F:推 Qbsuran: 就memory leak啊 查回圈内每个函数使用说明 08/28 20:23
4F:推 Ommm5566: 问题在你到底在问什麽 "哪个东西"的东西是什麽 08/29 07:14
5F:→ Ommm5566: 如果只是因为记忆体不够 那就写成档案後释放不必要的占 08/29 07:16
6F:→ Ommm5566: 用 08/29 07:16
7F:→ Ommm5566: 如果是堕入无穷回圈 那是程式逻辑问题 08/29 07:17
8F:→ Ommm5566: 你的资讯有给和没给一样 当别人有水晶球 08/29 07:17
9F:嘘 Ommm5566: 发文格式都给你了 还不会用 08/29 07:49
10F:推 Bencrie: 找 profiler 测记忆体使用量,结案。 08/29 09:34
11F:→ Bencrie: 我是觉得原 po 要求很清楚啦,就想快速分析哪里吃太多 08/29 09:36
12F:→ Bencrie: ram 而已。 08/29 09:36
13F:推 Killercat: gprof + valgrind, leak问题大概都靠这个 08/29 20:28
14F:→ Killercat: 不过记忆体用量分析的话可能麻烦点 08/29 20:29
15F:→ Killercat: 看看这对你合不合用 08/29 20:29
16F:推 LiloHuang: 个人建议 Intel Inspector 可先抓试用版来用用看 08/29 22:46
17F:→ tinlans: 那你知道 C++ 是需要手动释放记忆体的吗? 08/30 02:06
18F:→ tinlans: 看过一些熟悉其它语言的跑来写 C++ 只 new 不 delete 08/30 02:06
19F:→ tinlans: 另一个可能就是你的演算法本身就需要那麽多记忆体,也许 08/30 02:08
20F:→ tinlans: 要考虑资料库或 sqlite 的方案,而不是单靠记忆体。 08/30 02:09
21F:→ Killercat: 所以我给java过来的人都先塞smart pointer给他们再说XD 08/30 07:18
22F:→ Killercat: 这种都懂要delete 只是因为以前工作不用 所以都没习惯 08/30 07:18
23F:→ Killercat: 不过对於杀掉不该杀的如singleton那种就没辄了 08/30 07:18