我正在运行带有 Jetpack 4.4 的 Jetson Nano(Ubuntu 18.04),默认情况下,有 4x495 Meg ZRAM 分区用于交换空间。问题是,对于一个数据科学项目,我需要比 Jetson 上安装的 4gig 更多的 RAM(以及我从压缩 ZRAM 中得到的任何东西——不多)。所以我想制作一个 8gb 的交换文件而不是 ZRAM 交换。
如何完全禁用 ZRAM 交换以便创建交换文件?
我试过了
sudo apt remove --purge zram-config
sudo dpkg --purge zrawmswap-enabler
sudo dpkg --purge zram-config
sudo service zramswap stop
或者,我可以只创建一个磁盘交换文件并期望它替换 ZRAM 吗?
使用 zram,您可以在 RAM 中进行交换并进行压缩。每当您的系统交换时,它都会非常快地完成,RAM 也是如此。
您无需停止 zram 即可替换为另一个交换。您可以添加更多交换,并让系统处理它。
如果你想改变zram的配置比例编辑:/etc/systemd/nvzramconfig.sh
为了在磁盘上创建新的交换,您有两种选择:
如果您期望从交换到内存有很多移动,反之亦然:
对于您所评论的内容,我相信您会运行该科学程序几次,最多可以说100次,因此即使强烈使用交换,对于国产SSD来说也应该没有问题。您也可以使用外部外壳连接 NVMe,但您不会看到高速,因为速度限制在 USB 3.0 中。三星 PRO 系列在死前提供双倍的写入。
注意使用3.0而不是意外使用2.0。
如果您需要使用该科学程序,您可以组装一台具有 16 GB 或 32 GB RAM 的廉价 PC,而您根本不需要交换。
2020 年 11 月 4 日更新:在 JetPack-4.4 中,nvzramconfig 是一个 Systemd 服务,因此在/etc/systemd/system中有一个名为 nvzramconfig.service 的文件
您可以通过禁用它来完全阻止此服务启动:
这是首选的方法。但是,如果出于某种原因您不想禁用该服务,那么不太好的选择就是像这样评论文件/etc/systemd/nvzramconfig.sh中的每一行:
只要执行以错误级别 0 退出(因此没有错误或没有不同于 0 的退出代码),它将被视为工作。
这两种方式都不会加载内核模块(modprobe zram)。
干杯