令人难以置信的不情愿交换

我的笔记本电脑运行Ubuntu 16.04时出现了一个奇怪的问题。 我有8 GiB RAM和10 GiB交换区域。 它运行良好,程序从SSD快速交换,交换的内存大多是内存泄漏和无论如何被遗忘的mmap ……但后来有些东西打破了它。 我不知道是什么,我没有立刻注意到它。 但现在,它很少交换。

交换空间几乎无人占用,我可以使用95%的RAM,交换空间只有5%已满。 如果RAM填满,它很少交换任何东西,它会冻结,有时它会在杀死一个程序后恢复,但是太频繁了,我必须做一个硬重置。

我已经检查了swappiness属性,但它设置为60并将其设置为100不会改变任何内容。 我将Ubuntu升级到版本17.04,但它没有帮助。

如果我运行一个占用大量内存并主动使用它的进程,它似乎交换了这个进程的内存(刚刚分配它!),使进程很快再次冻结,以便在一个短时间内恢复内存,永无止境的循环。 几乎所有换出的内存都没有被换掉很长时间,虽然我很确定有足够的泄漏内存和未使用的程序来交换。

什么想法可能是错的?

检查了sysctl -a | grep swappiness sysctl -a | grep swappiness以确保根据需要设置swappiness,并且swapon以确保挂载交换分区,由于某种原因,交换分区仍有可能被错误地格式化。

这可以通过以下方式纠正

 sudo swapoff -a sudo /sbin/mkswap /dev/hda8 sudo swapon -a 

其中/dev/hda8应该被怀疑是坏的分区或交换文件替换。

这个答案的来源包括https://help.ubuntu.com/community/SwapFaq ,“为什么我的交换没有被使用?”和Swap没有被使用