24小时热门版块排行榜    

查看: 799  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

ddli123456

铁虫 (初入文坛)

[求助] 内存泄漏

有没有哪位编写过并行程序的?额用fortran,调用MKL库不断求解7200*7200矩阵的本征值,可是循环几次,内存就被消耗完了,额没有使用过动态数组,可能是内存泄漏。不知道有木有碰到过类是问题的?有木有知道该怎么解决的?谢谢啦!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

#include

算的方法
int main()
{
     long memsize;
     memsize = sizeof(double) * 7200 * 7200;
     printf("%d,%ld\n", sizeof(double), memsize/1024/1024);

     return 0;
}
3楼2012-02-11 17:27:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖

感谢参与,应助指数 +1
你算下内存占用,如果是双精度,一个差不多有400M的样子。如果你内存里同时有好几个的话,就会溢出。一个办法是用动态数组,循环一次释放一次。
2楼2012-02-11 17:26:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ddli123456

铁虫 (初入文坛)

引用回帖:
: Originally posted by 锐利的碎片 at 2012-02-11 17:26:20:
你算下内存占用,如果是双精度,一个差不多有400M的样子。如果你内存里同时有好几个的话,就会溢出。一个办法是用动态数组,循环一次释放一次。

动态数组我用过了,并且也释放了,没有效果。我用的服务器单个节点内存有20G,有4个线程,每个线程同时有3个那么大的矩阵,循环7次就死掉了,有没有函数可以监测剩余内存的?谢谢!
4楼2012-02-11 18:25:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖

ddli123456(金币+1): 有帮助 2012-02-12 08:24:40
allocate可以带一个参数返回状态,如果失败可以退出。
5楼2012-02-11 18:37:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见