紧急求助:如何让某个程序的物理内存强制写入虚拟内存

2015-11-11 10:23:03 +08:00
 vh2h
电脑正在运行 autodesk 公司的 navisworks 软件,可能大家都没听说过,就是相当于一个制作动画的软件。因为做了一个比较大的动画,然后用之进行渲染然后输出成视频,因为它是一帧一帧的渲染的,所以随着渲染进程的增加,他占用的内存以非常缓慢的速度逐渐增加,已经渲染了两天两夜了,该进程的内存增加到了 15.16G (电脑配的 16g 内存),已经完成 96%了,然后就上不去了。我看了下任务管理器中的提交大小,是 15.93G ,也就是说它基本上没占用多少虚拟内存啊!所有能关的程序都已经关了,所以想让这么大的空间强制转移到我的虚拟内存就是我的 ssd 上,以空出物理内存让程序继续运行,求解决方法,先谢谢各位了!
4204 次点击
所在节点    问与答
28 条回复
hx1997
2015-11-11 13:07:31 +08:00
hx1997
2015-11-11 13:08:04 +08:00
@hx1997 SetProcessWorkingSetSize()

Orz
vh2h
2015-11-11 13:14:09 +08:00
@Lanceliel 谢谢你的答复,一条黑道走到底,没法保存,进行渲染的时候软件也没法操作。
aalska
2015-11-11 14:46:02 +08:00
用云来渲染啊
阿里云走起
vh2h
2015-11-11 16:18:43 +08:00
@aalska 阿里云的人说他们只做 maya 和 3dsmax 等的云渲染,这个他们不做。
hitmanx
2015-11-11 16:26:04 +08:00
说个可以验证的小方法.

你可以把正在跑任务的电脑放到一边,重新开一台电脑,自己写个很简单的程序,就是申请内存,并且往里填些随机数据(必须要用,如果只是申请的话,有些操作系统会优化直到使用时才会真的分配给进程),来模拟 navisworks 的效果.这样就可以放心尝试各种你能搜到的优化虚拟内存的方法来测试结果,直到你找到结果以后,把解决方案复制到生产电脑上.
vh2h
2015-11-11 19:16:39 +08:00
@hitmanx 感谢回复,我谷歌了下一键清理内存,深度清理内存等功能小软件,强制写入虚拟内存,还是有用的,虽然变慢了些,但总比一直动不了好,谢谢!
msg7086
2015-11-11 21:27:29 +08:00
物理内存你不用他就不会给你。比如你开个 photoshop 或者开个清理内存的软件(原理一样的),就把这给挤出去了。

类似这种软件本来就是设计成有多少内存吃多少内存的。
如果操作系统没有写入交换文件,那就说明软件没有完全把内存吃满……
我也不知道你到底想做什么,只不过我觉得这种清理内存的软件最容易把你的渲染程序搞崩了……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/235260

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX