matlab 3gb开关 win7,【转】Windows 32位系统 大内存 3GB开关 Matlab 内存管理

/3GB 开关默认情况下,Windows 可以对总计 4 千兆字节 (GB)

的虚拟地址空间进行寻址。默认情况下,此地址空间中的 2 GB 为内核(操作系统)保留,另外 2 GB 是为用户模式程序(如

Exchange 2000 Server)保留的。

当您将 /3GB 开关放入操作系统的 Boot.ini 文件中时,您就重新分配了虚拟地址空间,给用户模式程序提供 3 GB

的空间,同时将内核限制为 1 GB。

重要说明:只有在以下操作系统中可以使用 /3GB 开关:

• Microsoft Windows Server 2003 Enterprise

Edition

• Microsoft Windows Server 2003 Datacenter

Edition

• Microsoft Windows Small

Business Server 2003

• Microsoft Windows XP Professional

• Microsoft Windows 2000 Advanced

Server

• Microsoft Windows 2000 Datacenter

Server

• Microsoft Windows NT 4.0 Enterprise

Server

在以下操作系统中不要使用 /3GB 开关:

• Microsoft Windows 2000 Server

• Microsoft Windows NT 4.0 Server

Windows 2000 Server 和 Windows NT 4.0 Server 只可以为用户模式程序分配 2 GB。如果您在

Windows 2000 Server 或 Windows NT 4.0 Server 中使用 /3GB 开关,则会将 1 GB

分配给内核,将 2 GB 分配给用户模式程序,因而您将丢失 1 GB 的地址空间。

当您的计算机中安装的物理内存超过 1 GB 后,用户模式程序的 2GB 虚拟内存地址会导致 Exchange 2000 Server

中出现若干问题。

Exchange 2000 Server 基于物理内存数量计算分配给数据库缓冲区的内存。物理内存超过 1 GB,可能导致将不相称的 2

GB 虚拟内存分配给数据库缓冲区。这可能导致虚拟内存分段故障、性能问题或“内存不足”问题。

注意:如果您仍遇到内存故障,请从服务器中删除一些 RAM 以将其减小至 1GB

或更少。这有助于您确认本文中描述的情况是不是此问题的根源。

基于 Windows 2000 Advanced Server 的计算机上的 Exchange 2000

Server

当基于 Windows 2000 Advanced Server 的计算机拥有超过 1 GB 的物理 RAM,请在 Boot.ini 中使用 /3GB 开关,使用户模式程序(如 Exchange 2000

Server)可以访问 3 GB 的虚拟地址空间。

基于 Windows 2000 Datacenter Server 的计算机上的 Exchange 2000

Server

在基于 Windows 2000 Datacenter Server 的计算机上,当物理 RAM 超过 1 GB 时,请使用 /3GB 开关。Exchange 2000 Server 需要在

Windows 2000 Datacenter Server 上支持的 Service Pack 1 (SP1)。

/PAE 开关

物理地址扩展 (PAE) 是 Windows 2000 Datacenter Server 和 Windows 2000

Advanced Server 的一项功能,为此 API 编写的程序能够使用 4 GB 以上的内存。虽然有专门为利用此 API

而编写的程序,例如 Microsoft SQL Server 2000,但

Exchange 2000 Server 与其不兼容。因此,如果您使用 /3GB 开关,Exchange 2000 Server

只能对 3 GB 的地址空间进行寻址。

PS: 请留意上文中标蓝段落, M$ 只是将 Exchange 用来做例子,因为

Exchange 是 M$ 自己的产品。

PS: 版内有没有 PhotoShop 、CD 或其他需要频繁操作上百甚至上G文件的朋友? 有的话,请留意下面:

来至 kb.adobe.com , ID :332271

If you are running Windows XP Professional with Service Pack 2, you

can set the 3 GB switch in the boot.ini file, which allows

Photoshop to use up to 3 GB of RAM.

先检查主板是否支持,下载everest检测软件,在主板-内存一项中,Physical Address

Extension(PAE)查看“操作系统支持”“处理器支持”是否为“是”,如果是“否”的话代表主板不支持,不要玩了,如果是“是”的话,“活动”一项是“否”也有可以修改的可能,

Matlab

内存管理

用 Matlab

进行大规模科学计算或仿真时,内存是一个需要时常注意的问题。当你写的 Matlab

程序跳出“Out of Memory”

时,以下几点措施是需要优先考虑的解决方法:

1. 确保内存的连续性 Matlab

中数组必须占用连续分配的内存段,当无法为新建的数组分配连续的内存段的时候,”Out of Memory”

就会出现。由于反复分配和释放数组会使可用的连续内存段减少,因此当 Matlab

刚刚启动时其连续内存最多,此时往往可以新建非常大的数组,这一点可以用命令 feature(’memstats’)(在 7.0

版本以上)看出。如果现实的最大连续内存段很小,但实际可用内存(非连续的)仍旧很多,则表明内存中碎片太多了。此时可以考虑用 pack

命令,pack 命令的作用就是将所有内存中的数组写入硬盘,然后重新建立这些数组,以减少内存碎片。此外,在命令行或者程序中都可以使用

clear 命令,随时减少不必要的内存。

2. 3GB 开关 由于32位 Windows

操作系统的限制,每个进程只能使用最多 2GB 的虚拟内存地址空间,因此 Matlab

的可分配内存也受到相应的限制。Matlab

7.0.1 引进了新的内存管理机制,可以利用 Windows 的 3GB 开关,使用 3GB 开关启动的 Windows

每个进程可以在多分配 1 GB 的虚拟地址空间,具体的操作方法可见:http://www.mathworks.com/support/tech-notes/1100/1106.html

3. 减少使用双浮点数 Matlab

默认的数字类型是双精度浮点数 (double),每个双浮点数占用 8 个字节。对于一些整数操作来说,使用双浮点数显得很浪费。在

Matlab

中可以在预先分配数组时指定使用的数字类型如以下命令:zero(10, 10, ‘uint8′)

。对于浮点数,在很多精度要求不高的情况下,可以使用4个字节的单浮点数

(single),可以减少一半的内存。关于单、双浮点数的精度对照如下,以便根据需要选择使用:

single: 精度 (1.1921e-007) 最大数 (3.4028e+038)

double: 精度 (2.2204e-016) 最大数 (1.7977e+308)

参考:

Deng’s blog

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值