回 帖 发 新 帖 刷新版面

主题:关于fortran运行时内存占用的疑问

在windows下运行一个Intel fortran程序,打开windows任务管理器,选“进程”标签,这个程序只占30几个M的内存。但是再查看“性能”标签,发现内存占用一下子就多了将近一个G,这令我十分的困惑。
我的程序里面有三四个300*300的数组,无论把这几个数组写成全局变量还是局部变量,内存占用基本都是这个样子,请问高手(1)windows任务管理器两个栏里统计出的内存占用为什么不一样呢?(2)我的程序内存占用太大怎么解决?
谢谢啦,提前祝各位端午节快乐

回复列表 (共6个回复)

沙发

把进程标签页中的“虚拟内存”列打开就知道了。
另:如果确实需要很多内存就让他多去吧。减少内存的占用往往是以多次读写硬盘为代价的。

板凳

大侠:
(1)进程标签里面只有“内存”列,没有“虚拟内存”一列啊?
(2)算程序的时候不是内存占用越少越好吗?如果超过了实际内存而使用了虚拟内存,不是要不断的和硬盘交换数据吗?
(3)我所奇怪的是,我的程序只有三四个300*300的数组,而且不是总在用,为啥内存一下占了好几个G呢?

3 楼

我估计你用的vista或者win7
他们和XP的内存管理方式是不一样的

4 楼

大侠,我的系统是XP啊,咋回事呢

5 楼

发布exe,大家来测试

6 楼

300*300*8*4/1048576=2.74658203125MB
如果你只有这几个东东按理说是占不了太多内存的,看看程序是不是还有别处在大量地占用内存吧。比如并行什么的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册