为什么交换文件从未被使用过?

为什么交换文件从未被使用过?

即使内存已满,我创建的交换文件也从未被使用过。

我做错什么了吗 ?

输出swapon -s

Filename                Type        Size    Used    Priority 
/file.swap              file        15728636    0   -2

输出cat /etc/fstab

LABEL=cloudimg-rootfs   /    ext4   defaults,discard    0 0
# Entry for /swapfile
/file.swap none swap defaults 0 0

输出cat /proc/sys/vm/swappiness

60

编辑

输出free -h

在此处输入图片描述

如您所见,我将交换文件的大小减少了一半,最终在内存满载时开始使用,而不是从使用内存的 40% 开始(根据交换性)。我不再有问题了,现在我只是想了解交换文件的行为。

附加信息:我同时运行了 80 个 Firefox 实例才得到此结果。

答案1

在这种情况下使用交换(好吧,如果算上休眠的话,则是+1):

  • 您的系统内存不足,需要更换当前未使用的部件以腾出空间放置当前使用的部件。如果您有足够的内存,足以完全满足您的工作负载,这种情况就不会发生。
  • 系统确定某项任务长时间处于空闲状态,因此其使用的内存最好用于缓存。这种情况主要发生在长时间运行的系统上,即偶尔运行的任务。例如,始终运行的邮件客户端每隔几个小时检查一次邮件,但其间不执行任何操作。
  • 一些高内存程序仍可能会进行交换(视频和 3D 编辑器、数学工具),但大多数情况下只有在需要时才会出现。

看起来这两种情况都不适合您,所以不必担心。如果这两种情况都不适合您,那么问题就来了,但系统仍然会进行交换。

另外,如果您有大约 8+ GB 的 RAM,则只有在休眠时才需要交换。如果您的计算机有 8+ GB 的 RAM 并且您每天都关闭它,则交换分区将永远不会被使用,不需要交换,这是正常的。

相关内容