查看: 5693|回复: 6

Bentley AECOsim winx86 最大内存限制?

[复制链接]

发表于 2017-2-12 18:04:39 | 显示全部楼层 |阅读模式
Bentley AECOsim 默认安装为winx86,即32位,是否表示Bentley处理数据是以32位的方式处理的,所以存在最大内存限制,对吗?如果是,那对于超大型工程项目,岂不经常出现卡死的情况?有什么办法用起64位的数据处理方式?急求大神赐教,谢谢!
回复

使用道具 举报

发表于 2017-2-12 22:19:18 | 显示全部楼层
32位操作系统本身有内存限制的,扣除系统本身的内容需求,我记得应用程序最多能使用3.2G内存。

所以这个问题和AECSim没有关系,对大型项目你最好用64位系统,对于现有硬件而言,内存大小没有限制。

如果你不想换系统,有个办法可以突破32位操作系统的内存限制的(我试过的),不过有点麻烦,具体方法你可以百度一下:32位系统内存限制
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-13 14:08:11 | 显示全部楼层
您好 感谢您的解答。我的本机电脑系统是win7 64位,另一台win10 64位,两台都是64位操作系统,但是我利用mdl二次开发自编了数据转换工具,可以将dgn文件转换为xml文件。但问题是总觉得bentley ABD默认使用的是32位数据处理方式,经常在我针对大型项目转换数据时,提示low memory的错误 而中断转换过程。我想知道如何解决这类问题,求赐教!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-13 14:10:40 | 显示全部楼层
安装Bentley ABD时,默认就安装在programfiles(x86)那个文件夹下了,通常如果是64位程序应该会安装在programfiles文件夹的,对吧。所以个人就感觉Bentley ABD是不是默认就是只能处理32位数据???
回复 支持 反对

使用道具 举报

发表于 2017-2-13 20:09:45 | 显示全部楼层
Windows体系操作系统中,程序分为用户态、内核态两种形态,32位程序总共能访问的内存地址有4G,默认情况下其中有2G内存是分给内核模式使用,用户模式能使用的内存最多为2G,而实际情况下一个应用程序最多只能管理到1.6 – 1.7GB的内存。(加上程序本身还有消耗,实际能给用户代码使用的内存更小)
要扩大程序内存使用范围,有以下几种做法:
1、        程序编译为64位。将彻底解决内存访问限制
2、        Window 32位操作系统中,可以通过改变启动参数的方式,将程序默认内核模式占用的内存缩小为1GB,则用户模式能管理的内存能扩大到2.5G左右。具体方式每个版本的windows配置方式均不一样。网上针对每个版本都有详细的配置方法
3、        Window 64位操作系统中,由于32位的程序是运行在它模拟的一套32位子系统环境中,所以通过改变启动参数的方式是不能达到扩大内存范围的效果的。
4、        Visual Studio 2003以上版本,编译程序时可以通过设置LARGEADDRESSAWARE链接选项,达到扩大内存范围的效果。
5、        Bcb6目前还没有找到有效的扩大内存访问范围的方法
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-14 10:01:14 | 显示全部楼层
十分感谢您的解答!前面三点我知道,第5点,“Bcb6”是指bentley AECOsim 内存访问本身就有32位的限制,对吗?如果是,怎么破?你知道这年代数据都是超大的,大型数据访问和处理已成为基础了。
回复 支持 反对

使用道具 举报

发表于 2017-2-14 14:22:33 | 显示全部楼层
意思是32位Microstaion无解。

Microstation已经有了64位版本,为啥不用呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则