当Windows 7 64位中有大量RAM时,希望Visual Studio 2010停止使用驱动器


11

我将升级系统,以在Windows 7 64位和Visual Studio 2010 Ultimate中使用16GB DDR3 RAM。CPU将为6核3.2Ghz。我每天都要进行大量编译,而VS的目标是在更改背后的代码后几秒钟内显示一个网页。

我注意到Visual Studio在驱动器工作期间会执行很多I / O操作(通过HD led)。我想把VS需要的所有东西都放在内存中,包括临时文件夹,系统文件,我的代码等等。我只想让VS快速发展。我的主驱动器是SSD,它非常快,我什至希望VS不要使用它。与其他任何东西相比,RAM都超级快。

我知道VS 2010仍然是32位的,因此它将最多使用4GB,但是所有其他打开的应用程序(浏览器,Outlook,文件资源管理器等)都可以使用12GB的剩余空间,并让VS在其专用的4GB内存空间中自由漫游。

我的问题:我可以对Windows 7和VS 2010执行哪些设置和调整,以便VS 2010专用并使用尽可能多的内存并将其阻塞,从而使它尽可能少地使用硬盘?Windows 7 64和VS是否已经为此进行了优化,并且没有其他事情可以做。RAM磁盘有帮助吗?认为这就像我要消除驱动器一样。

我知道掉电导致数据丢失的可能性更高,但这现在不再是问题。假设不存在外部依赖项(数据库,网络速度...),这可能会使VS变慢。磁盘碎片整理无济于事。


由于这更多地与如何设置RAM磁盘和可执行的内存使用有关,而不是与编程有关,请投票决定移交给超级用户。
jball 2010年

1
@jball我不同意,它与编程有关,足以引起恕我直言,因为许多VS开发人员都可以从这种配置中受益。

我在这里提出问题,因为我需要知道Visual Studio如何工作的人。如果仅在serverfault中,则可能会获得有关Windows的通用优化技巧(仍然是很好的技巧)。但是,我不介意将其放在两个站点中。
Tony_Henrich,2010年

我在serverfault中有一个相关的问题。serverfault.com/questions/142203/...
Tony_Henrich

Answers:


6

您已经有了想要的东西。有了那么多的RAM,您将拥有一个非常大的文件系统缓存。从Taskmgr.exe,“性能”选项卡,“缓存”中可见。当数据被写入RAM时,Visual Studio执行的所有磁盘写入都将完全瞬间完成。然后,缓存管理器会将其延迟写入磁盘,从而使驱动器访问指示灯在此过程中闪烁。

同样,磁盘读取将加快。它仍然必须离开磁盘,但是它将读取整个轨道,而不仅仅是Visual Studio要求的文件扇区。使得它可能是下一个读会来,而不必从磁盘检索出来的RAM。

这样效果很好(并且很安全),不再使用RAM磁盘。


我还看到VS使磁盘写入,并且我有6 GB的空间未满。我认为VS可能正在使用将数据强制存储到磁盘存储的标志。它必须认为输出文件是有价值的东西!
Zan Lynx 2010年

嗯,什么样的项目会生成6 GB的可执行代码?

@汉斯:换个说法。我的系统有6 GB的RAM尚未完全用完,应该用作项目构建所生成的100 MB输出文件的磁盘写缓存。
Zan Lynx

1
@zan-使用SysInternals的ProcMon找出磁盘在做什么。
汉斯·帕桑

2

听起来您需要首先创建一个RAM磁盘。不确定在Windows 7中执行此操作的工具。也许其他人会有一个主意。但这应该处理Windows端对磁盘进行的所有必要调整。我唯一要添加的是将您的临时目录设置到RAM磁盘上。它以TMP和TEMP的形式存储在环境变量中。它通常也包含在系统变量和用户变量中。确保同时更改两者。

然后,在Visual Studio中,需要确保可以在Visual Studio中设置为路径选项的所有内容都指向RAM磁盘。这包括项目的输入和输出目录,以及它可能需要的任何临时目录,尽管从理论上讲,这些目录都应从TMP / TEMP环境变量中键入。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.