为程序分配自己的交换驱动器

为程序分配自己的交换驱动器

我正在尝试使用 blender 渲染一些东西,但它占用了 20gb 的 RAM!我没有那么多,所以我只插入一个 60gb 的 usb 棒,并将其安装为交换空间。

问题是现在我无法用我的电脑做任何事情,因为传统的 RAM 一直都是满的。

是否可以指定搅拌机仅使用交换区?或者仅使用 USB 存储棒 (/dev/sdf1)?

答案1

关于交换

USB 盘不适合交换。硬件(存储单元)速度慢,而且易磨损(与其他硬件相比,预期的写入次数寿命较低)。HDD 或 SSD 更好,但如果您需要相当快的处理速度,增加 RAM 是解决方案。

调整 Blender 进程

如果您想在渲染时使用计算机执行其他任务,您可以雷尼塞Blender(高niceness值将赋予其低优先级,以便其他应用程序优先使用 CPU 和 RAM)。

命令行工具renice可以管理niceness-20 到 19 之间的值,其中 19 是“最佳”值,而其他任务的优先级最低。您需要提升权限(用于sudo文本模式程序和sudo -HGUI 程序)才能降低niceness。请参阅

man renice

超级用户以外的用户只能更改他们所拥有的进程的优先级,并且只能在 0 到 19 的范围内单调增加它们的“nice 值”(出于安全原因),除非设置了 nice 资源限制(Linux 2.6.12 及更高版本)。超级用户可以更改任何进程的优先级,并将优先级设置为 -20 到 19 范围内的任意值。有用的优先级为:19(受影响的进程仅在系统中没有其他进程想要运行的情况下运行)、0(“基本”调度优先级)、任何负值(以使事情进展得非常快)。

安装和使用可能更方便,htop以增加niceness您的搅拌机流程,

sudo apt install htop

屏幕截图显示了我如何将htop进程本身从 0 重新调整为 5。

在此处输入图片描述

  1. 选择流程(在您的案例中为 Blender 流程​​)

  2. 将 Renice 设置为 0-19 范围内的合适值

  3. 当前友好度显示在“NI”列中

答案2

看一下执行命令限制进程的资源使用,这个例子可能会有帮助

一个选择是开始渲染然后去睡觉,然后让它在你外出工作/上学时继续...使用 20GB 进行渲染是相当高的,一个更好的问题,你可以在blender.stackexchange是如何减少渲染所需的内存。也许您可以将高分辨率雕塑烘焙到法线贴图,使用低分辨率图像纹理,使用渲染层分别渲染场景的不同部分并将它们合成在一起。

答案3

交换不能替代 RAM!无论你分配多少交换空间,程序最终都会在 RAM 上运行。此外,使用更多的交换会使 PC 运行缓慢。顺便问一句,你在渲染什么?考虑优化你的项目吧。

相关内容