为什么从不使用交换文件?

phe*_*eln 3 swap 18.04

即使内存完全加载,我创建的交换文件也从未使用过。

我做错什么了吗 ?

输出 swapon -s

Filename                Type        Size    Used    Priority 
/file.swap              file        15728636    0   -2
Run Code Online (Sandbox Code Playgroud)

输出 cat /etc/fstab

LABEL=cloudimg-rootfs   /    ext4   defaults,discard    0 0
# Entry for /swapfile
/file.swap none swap defaults 0 0
Run Code Online (Sandbox Code Playgroud)

输出 cat /proc/sys/vm/swappiness

60
Run Code Online (Sandbox Code Playgroud)

编辑

输出 free -h

在此处输入图片说明

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

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

mat*_*ure 6

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

  • 您的系统内存不足,需要换出当前未使用的部件来为当前使用的部件腾出空间。如果您有足够的 RAM 来完全适应您的工作负载,则不会发生这种情况。
  • 系统确定一个任务空闲时间很长,它使用的内存可以更好地用于缓存。这主要发生在长时间运行的系统上,这些系统的任务只是偶尔运行。一个例子是一个始终运行的邮件客户端,它每隔几个小时检查一次邮件,但在这之间什么都不做。
  • 一些高内存程序仍然可能会进行交换(视频和 3d 编辑器、数学工具),但在大多数情况下,它只会在需要时才出现。

看来你也不是这种情况,所以不用担心。如果两种情况都不是,但系统仍会进行交换,则会出现问题。

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