未使用交换区

未使用交换区

无论我的 RAM 有多满,我的交换区都没有被使用。这是我的 swapon 输出:

NAME      TYPE       SIZE USED PRIO
/dev/dm-2 partition 31,9G 3,5M   -1

PRIO -1 会有问题吗?

cat /proc/sys/vm/swappiness
60

我的 swappiness 是 60。

cat /proc/swaps
Filename             Type       Size        Used    Priority
/dev/dm-2            partition  33456124    3524    -1

我有 32GB 的 RAM 和 32GB 的交换空间,但目前当我的内存运行时,我的系统会永久锁定,而不是开始交换。我能做些什么呢?

基本上,我试图运行一个会占用大约 30GB 内存的应用程序,而我的物理内存已经占满一半了。当它启动并将数据加载到内存中时,一旦物理内存已满,我的系统就会冻结。而且它似乎不会在交换时锁定,因为即使过了一段时间也不会解冻。

答案1

增加 swappiness 可以解决这个问题。交换已启用,但出于某种原因,仅在内存完全满时使用,而不是更早。

答案2

就我而言,我安装了另一个 Ubuntu 测试实例并为其格式化了交换,因此交换设备的 UUID 在 fstab 中是旧的,我只是将其更改为当前的并且它可以工作。

答案3

不这么认为。首先检查cat /etc/fstab你的交换分区,然后尝试使用以下命令格式化交换文件系统:

sudo swapoff -a
sudo /sbin/mkswap /dev/sd##
sudo swapon -a

相关内容