我可以限制IDE的内存使用到2GB吗?

4

即使BDS.exe是32位程序,Delphi Seattle IDE可以使用高达4GB的内存。

对于大型项目来说非常好,但是在编译小型项目时,有时IDE会失控并开始消耗所有可用内存。

以前限制为2GB,很快就会自己解决,然后我会得到一个out of memory error;重启IDE一切正常。

但是,在带有4GB物理RAM的PC上运行Seattle时,内存不足的情况会导致PC锁定10分钟或更长时间,因为磁盘开始交换。

是否有办法将IDE切换回2GB,用于内存较少的PC?


2
如果您使用的是Seattle Update 1,则需要热修复程序http://cc.embarcadero.com/item/30453。 - kami
@kami,谢谢你,但问题是由于编译器错误而导致的内存溢出。因此,该热修补程序实际上并没有解决问题。 - Johan
尝试在XP/Vista兼容模式下运行IDE,其中GlobalMemoryStatus2GB是其中之一。我怀疑IDE是否会要求系统内存并相应地采取行动,但值得一试。 - Sertac Akyuz
@SertacAkyuz,有趣的想法,我会尝试。 - Johan
2
呃...在一台只有4GB内存和慢硬盘的PC上进行开发?为什么呢?花费一点点钱就可以升级更多的内存和SSD,这样可以节省你很多时间和烦恼。即使你的薪水不高,投资于一个合理配置的开发系统也会在几周内为你节省大量时间,从而回报自己的投资。没有任何借口来解释为什么要用不足的硬件来苦苦挣扎。 - J...
显示剩余2条评论
2个回答

2

对于您所提出的问题,没有配置开关。IDE可执行文件在其PE头中被标记为大地址支持。唯一的选择就是使用PE编辑工具从可执行文件中删除该标志。

但是,更改磁盘上的exe会触发拷贝保护并关闭IDE。


1
但这可能会使数字签名无效,从而触发副本保护。我建议确保您安装了修复句柄泄漏的Update 1,并仅在任务管理器中监视并强制终止。此外,是否有针对此问题的QP? - David
1
也许你可以找到去除保护的EXE文件。既然你合法购买了IDE,那么这应该被视为兼容性工作。 - Arioch 'The
1
@DavidM,跟踪内存使用是毫无意义的,因为内存失控是如此突然,以至于在我注意到之前,电脑已经陷入僵局。响应CTRL+ALT+DEL需要几分钟的时间。 - Johan
哇,我从来没见过这种行为,有QP报告吗?它是每个项目都出现还是只有一个项目?如果只有一个项目,您可以私下向Emb提交您的代码以帮助他们诊断它。 - David

2
我们在虚拟机上安装了Delphi。在那里,您可以轻松限制内存。虚拟机还不会阻止整个计算机。主要优点是您可以从网络中的任何计算机访问。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接