Ubuntu Swappiness 默认混乱

Ubuntu Swappiness 默认混乱

我有一个关于 swappiness 的问题,我完全不明白。我发现我的工作站在 VMware Internet 下载期间经常交换。VMWare 社区中的某个人建议我更改我的 swappiness。swappiness 默认为 60,我很难理解为什么选择这个默认值。我读到 swappiness 为 60 适合作为服务器运行的 Ubuntu。我在这个页面上读到:https://help.ubuntu.com/community/SwapFaq/#What_is_swappiness_and_how_do_I_change_it.3F

如果 60 对服务器来说已经足够了,那么为什么要将桌面安装的 swappiness 设置为默认值 60?上面的页面甚至建议将 swappiness 值设置为 10 而不是 60。为什么不直接将默认值设为 10?当我将 swappiness 更改为 10 时,我注意到的性能问题就消失了。Swap 根本没有像设置为 60 时那样被使用,而且我在执行典型任务时从未耗尽内存。这让 Ubuntu 新用户非常困惑,老实说,这个默认值对我来说毫无意义。

编辑:

显示以下免费输出:

$ free -h
              total        used        free      shared  buff/cache   available
Mem:          125Gi       7.1Gi        46Gi        24Gi        72Gi        93Gi
Swap:         488Gi          0B       488Gi

仅在运行 VMware 时才会出现交换空间使用过多的问题。老实说,我认为这是与磁盘使用相关的 VMware 内存泄漏。磁盘使用期间交换空间不停增长对我来说毫无逻辑可言。

$ sudo dmidecode -s bios-version
A17

这是最新的可用 BIOS。

答案1

简短的回答...

terminal您可以使用和查看当前设置sysctl vm.swappiness。您可以使用 观察内存和交换区的使用情况free -h

最简单的解释是,vm.swappiness 设置内存活动与交换活动的比率。交换是指交换分区或 /swapfile 的使用。所有计算机都需要交换。交换的大小因系统配置和使用情况而异。

vm.swappiness 值接近 10 时,交换次数会减少,内存活动会增多。这可用于高内存环境,或交换延迟会对性能产生负面影响的环境,例如 Ubuntu Server 环境。

vm.swappiness 值接近 80/90 会进行更多交换,减少内存活动。这可用于低内存环境,这种环境中希望更多地依赖交换。通常,增加更多内存是更好的长期解决方案。

Ubuntu 桌面安装的默认 vm.swappiness 值为 60。这对于典型的用户和配置来说达到了良好的平衡。

相关内容