| 查看: 4396 | 回复: 10 | |||
[交流]
【求助】请问如何解决insufficient virtual memory
|
|||
|
最近写了一个程序,里面用了一个大的三维数组p(8800,758,5000),但是在运行时出现了这个错误insufficient virtual memory。我在网上查,说这个错误是虚拟内存不够,但是没找到解决方法,请大家指点? program get_projection implicit none integer i,j,k integer,allocatable::p(:,:, ![]() allocate(p(8800,758,5000)) p=0 do i=1,8800 do j=1,758 do k=1,5000 if(i==j.and.j==k) then p(i,j,k)=1 write(*,*)'test',p,i,j,k endif enddo enddo enddo end |
» 猜你喜欢
面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇!
已经有3人回复
2026年国自然面上资助率
已经有11人回复
微信指数没变化,科研之友没阅读
已经有18人回复
基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊
已经有8人回复
HXDI做水性聚氨酯乳液,是不是特别容易出渣
已经有3人回复
小木虫看见有人已经知道结果了
已经有19人回复
系统今天又提示维护了,估计离放榜不远了
已经有15人回复
申请2027年材料/化学类博士
已经有5人回复
你们的时间戳变了吗
已经有4人回复
今年的WR进展到哪一步了?
已经有9人回复
» 本主题相关价值贴推荐,对您同样有帮助:
请问cDNA-AFLP中酶切的问题,谢谢大家
已经有7人回复
请问有没有无效离婚的情况,有效期至2012年3月22日
已经有5人回复
请问在arcmap中如何加载coverage数据?
已经有6人回复
请问这个化合物如何命名?化合物结构见图,谢谢!
已经有7人回复
大家说说二十七八岁高血压的人多么,跟什么有关啊,如何防治呢?
已经有13人回复
【求助】如何选择较小配体实现高效Suzuki偶联反应,并且尽量降低自偶联可能性?
已经有9人回复
【分享转载】专家指点:高楼着火如何逃生自救?
已经有6人回复
【求助】三元相图软件安装后运行提示insufficient memory
已经有6人回复
【请教】Virtual Journal of Nanoscale Science and Technology影响力如何
已经有7人回复
【求助】请问各位怎样计算位错密度?
已经有10人回复
如何用多条直线拟合一条曲线呢?
已经有6人回复
» 抢金币啦!回帖就可以得到:
助理研究员——吉林大学-苏州国家实验室光电半导体智能设计与应用团队
+1/478
药化高级研究员
+1/82
祈福面上好运,散金币
+1/48
中科院东莞材料所依托中科大招收2027届推免生
+1/42
中国特种设备检测研究院招聘1名高温涂层方向博士后
+2/34
坐标南京
+1/30
大连理工大学化学学院界面介导黏附与组装课题组招收2027级推免生/考研生
+1/29
西湖大学物理学、光学、电子信息方向博士生招生(长期有效)
+5/25
西湖大学物理学、光学、电子信息方向博士生招生(长期有效)
+5/20
西湖大学拓扑光学、非厄米光学、太赫兹方向博士后招聘(长期有效)
+5/20
招生宣讲会倒计时!7月29日20:00,不见不散!
+1/10
北京师范大学(珠海校区)赵亚然副教授招收2027年电催化推免硕士/博士研究生
+1/9
四川大学周加境课题组招博士研究生/研究助理(自组装材料/生物医学方向)
+1/6
新西兰坎特伯雷大学招博士后
+1/6
多本Scopus收录国际英文期刊征稿,全免 APC!含医学期刊
+1/5
(Scopus期刊)Biofunctional Materials《生物功能性材料》招募青年编委及征稿
+1/4
宁波诺丁汉大学新能源与环境材料技术研究中心招收2027年春季入学博士生
+1/3
这些Scopus收录的英文国际期刊正在征稿(快速审稿)2026年底前免APC!
+1/2
北京师范大学珠海校区 李朝强团队招多名硕士博士
+1/1
iThenticate查SCI论文,一般查几次?有没有技巧一次过?
+1/1
★ ★
cenwanglai(金币+2): 谢谢回复! 2011-03-23 23:26:44
astringent(金币+5): 2011-04-01 01:58:03
cenwanglai(金币+2): 谢谢回复! 2011-03-23 23:26:44
astringent(金币+5): 2011-04-01 01:58:03
|
不会fortran,网上搜到: WinNT/9x上运行的Visual Fortran动态内存分配受一些因素的限制,包括交换文件的大小和其它同时运行的应用程序所需的内存大小。如果动态分配的内存太大或试图使用其它应用程序的保护内存会产生一般内存保护错误。碰到这类问题可以通过控制面板来改变虚拟内存的大小或交换文件的大小,还有一些编程技术可以降低内存需要。 虚拟内存的调整: 右击“我的电脑”,属性->高级->“性能”设置->高级->这个时候就能看到虚拟内存更改了 [ Last edited by sudo on 2011-3-22 at 08:48 ] |
2楼2011-03-22 08:42:03
3楼2011-03-22 09:25:56
4楼2011-03-22 15:54:08
5楼2011-03-22 18:40:52
|
我的想法是:有两组数,第一组是a1,a2----a30000,第二组b1,b2---b800分别存在数组A,B中,一共5000步的循环。假如第一步时,数组A中的数与数组B中的数是否满足一定的条件condition,如果满足,就检查在之后循环中这种关系是否仍然存在,如果存在就用一个函数标记。其实我要实现的就是找出这个标记函数。我用了一个三维数组h标记,程序如下: h=0 do istep=1,5000 do i=1,30000 do j=1,800 if(a(i)*b(j)==1) then h(j,i,istep)=1 endif enddo enddo enddo 现在的问题是这个三维数组h太大,应该怎样写这个程序才能实现我的想法。 |
6楼2011-03-22 20:08:24
7楼2011-03-22 20:17:30
★ ★ ★
cenwanglai(金币+3): 谢谢回复,sudo给力! 2011-03-23 23:28:11
astringent(金币+5): 2011-04-01 01:59:30
cenwanglai(金币+3): 谢谢回复,sudo给力! 2011-03-23 23:28:11
astringent(金币+5): 2011-04-01 01:59:30
|
不知道fortran有没有位运算......你那个标记仅仅是0和1的话,用一个整型数存储实在是太浪费了.... 另外,你可以预先估计一下h是不是稀疏矩阵..... 呃,其实从你程序的片段中看不出来那个step起到了什么作用,也没看出你之后想如何处理h(h的信息有什么用?) --------------------------------------------------------- 以上都是技巧上的建议,但,在算法上改进一小步,你的程序就进步一大步,最终的解决之道还是得找好算法 |
8楼2011-03-22 21:14:10
9楼2011-03-23 08:34:17
|
我已经把i,j,istep都输出到文件了,但是我需要计算相关函数,也就是说如果第一步出现120,,30,istep(分别对应i,j,istep),看看在istep=2,3,4-----3000时是否依然存在,所以我就将这种存在关系写在了三位矩阵h(i,j,istep)中,因为在后面的程序中,我使用了h作为判断条件,下面的程序就是我想要做的,应该如何该,才能避免使用这个大的三位数组h?? h=0 open (10,file='test.out') do i=1,99999999 read(10,*,end=2,err=2) istep,ia,ib h(istep,ia,ib)=1 enddo 2 continue close(10) do ia=1,30000 do ib=1,800 do istep=1,5000 h(istep)=h(istep,ia,ib) enddo do ntel=1,nsteps if(h(ntel)/=0) then 进行后面的程序 ----------------- endif enddo enddo enddo |
11楼2011-03-23 16:05:53
简单回复
tjtj44010楼
2011-03-23 10:07
回复











回复此楼