无论我的 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