为什么我的交换空间每天都在变大,直到我重新启动为止?

为什么我的交换空间每天都在变大,直到我重新启动为止?

Gateway E-475M 笔记本电脑上的 ubuntu 20.04lts

我通常不会每天关机,而是整夜使用电池,但注意到 SWAP 使用量(2GB RAM / 2GB SWAP)每天都在增长,直到几乎达到最大值,这时我必须重新启动,它的使用量才会降至零。我只使用笔记本电脑浏览(早上阅读当地报纸,观看 30 分钟新闻流,每天查看一次 GAB 和 PARLER,偶尔进行搜索……)。有没有办法在不重新启动的情况下“清除”SWAP?


好的 - 因此将 SWAP 从 2Gb 增加到 4Gb,现在得到以下结果:


免费-h

              total        used        free      shared  buff/cache   available
Mem:          1.9Gi       1.1Gi        97Mi       187Mi       802Mi       556Mi
Swap:         4.0Gi        51Mi       3.9Gi

grep -i 交换 /etc/fstab

/swapfile                                 none            swap    sw              0       0

...所以,我忘记了我的“清除 SWAP”答案,因为当 SWAP 很大时,没有足够的 RAM,所以它会锁定所有内容 - 严重崩溃...只是希望双倍大小有助于在 SWAP 变大时降低速度...谢谢!


所有这些可能都无关紧要,因为在处理这些交换文件内容时,我刚刚让 HIBERNATE 工作,所以现在将处于休眠状态,而不是暂停到 RAM,过夜......在这里找到适用于休眠的信息: - - - - - - - - - - askubuntu.com/questions/1240123/… - - - - - - - - - - - 然后使键盘快捷键为 super+H...太棒了!

答案1

Linux 会节省您的内存。当内存中不再需要某些东西时,就会将其交换。如果稍后需要其他东西,也会将其交换。如果两天后不再需要某些东西,也会将其交换。只有在需要时才会检索它。这可以节省 RAM,因此活动进程拥有更多内存,性能也会更好。只有可能再次需要的交换部分才会保留。那里不会堆积未使用的未分配垃圾。

Linux 的内存管理很好。你可以信赖它。

这就是“为什么”。

要了解如何手动清除交换,请参阅专业。Asudo swapoff -a后跟 asudo swapon -a即可。如果您觉得需要运行这些命令,请仅在确定有足够的内存时才这样做。否则,系统将尝试终止进程以释放所需内存。但实际上没有必要。让 Linux 管理内存。它会以最大化您的性能的方式进行管理。

答案2

使用以下命令禁用所有交换:

sudo swapoff-a

现在重新打开交换:

sudo swapon-a

就是这样。这个简单的练习将清除 Linux 系统中的交换。

来自:linuxhandbook.com/clear-swap(给予应得的赞扬...)发现警告:在清除交换之前,请检查您是否有足够的可用 RAM 来从交换中获取所有页面。换句话说,您应该有比当前使用的交换更多的可用 RAM。如果没有足够的“备用”RAM,会发生什么...锁定?是的 - 所以这个“答案”毫无价值!

相关内容