Visual Studio 2008在长时间闲置后爬行

时间:2009-08-28 13:27:56

标签: visual-studio memory performance python-idle

怎么了人。

有些事情一直困扰着我......我想知道你们中是否有人知道解决方法。

我正在开发的C#解决方案是一个庞大的解决方案,包含大约20个项目和几乎相同数量的单元测试项目。每个项目包含数百个文件。所以打开和关闭解决方案需要一段时间......但一旦打开,一切都很好。

但是,如果我让我的电脑过夜(我的解决方案仍然在VS中打开)并在第二天早上回来,我在VS中所做的一切都将非常慢下半个小时左右。

我知道为什么会发生这种情况......这是因为Windows似乎从内存(RAM)中删除了空闲进程。当我在VS中执行某些操作时,它会从页面文件中获取数据并将其放回内存中,从而减慢我执行的所有操作,直到进程的内存在RAM中完全恢复为止。

所以我的问题是,有没有办法告诉Windows VS是一个高优先级的进程/应用程序并将该进程的内存留在RAM中?

提前致谢,

-OLi

3 个答案:

答案 0 :(得分:2)

我不认为这是可能的。 OTOH,您可以将计算机置于挂起到磁盘模式。当你离开时(那就是:RAM中的VS),当它开始工作时,它将几乎冻结它的状态。作为额外的奖励,你将有助于节约能源,从而可以拯救地球。

答案 1 :(得分:0)

您可以根据this文章更改您的VS快捷方式以提升优先级,但我不知道它是否会执行您为进程内存所描述的内容。

另外,出于性能考虑,您可以考虑使用SSD驱动器来更换硬盘驱动器(如果尚未安装)。我的一位朋友向我展示了他的新笔记本电脑,内置SSD,并在一分钟内启动进入Windows,并在不到5秒的时间内打开了VS.

当然,这是从开始菜单直接打开VS,打开那个巨大的项目,希望至少会明显更快。

答案 2 :(得分:0)

AFAIK,改变进程优先级并不能解决问题,因为瓶颈似乎是I / O而不是CPU时间。如果这个问题会影响你的工作效率,那么购买更多的Gs RAM(多少取决于你的操作系统和预算)是非常值得的。如果你可以获得大约3-4GB的RAM,你甚至可以消除交换文件(或接近消除它)。这样可以防止VS在空闲时下沉。

另一个选择是创建一个工具,它将走向VS的堆,迫使它进入主存储器。这可以通过编写加载项或通过代码注入来完成。在你开始工作之前让它运行起来,并且一旦你到达它就会有VS.但是,它需要一些工作,你可能会得到比实际需要更多的内存(即使你像往常一样工作,一些VS的内存也在交换文件中,就像其他每个进程一样)。