Memory 为什么要花这么长时间?

Memory 为什么要花这么长时间?,memory,linux-kernel,kernel,swap,Memory,Linux Kernel,Kernel,Swap,有人能解释一下,为什么从RAM到交换的速度很快,从交换到RAM的速度很慢 当我运行需要更多可用内存的程序时,我看到RAM很快就被“清理”了,方法是将不受限制的(=访问最少的)页面移动到交换位置 但是当我跑的时候 swapoff -a ; swapon -a 将交换移回RAM需要很长的时间(多GB交换需要几分钟) 此外,还可以在SSD上进行交换。或者swapoff-a命令进行一些特殊检查,我可以避免/禁用它吗?您确定它确实在移动要交换的页面吗?可能是操作系统丢弃了一大堆缓存数据(磁盘缓冲区等)。

有人能解释一下,为什么从RAM到交换的速度很快,从交换到RAM的速度很慢

当我运行需要更多可用内存的程序时,我看到RAM很快就被“清理”了,方法是将不受限制的(=访问最少的)页面移动到交换位置

但是当我跑的时候

swapoff -a ; swapon -a
将交换移回RAM需要很长的时间(多GB交换需要几分钟)


此外,还可以在SSD上进行交换。或者
swapoff-a
命令进行一些特殊检查,我可以避免/禁用它吗?

您确定它确实在移动要交换的页面吗?可能是操作系统丢弃了一大堆缓存数据(磁盘缓冲区等)。是的,你自己试试。我在虚拟机中测试了它。4 GB RAM和4 GB交换。我启动了一个巨大图像的图像编辑应用程序,总内存消耗约为6GB。交换了大约3 GB。然后关闭应用程序,实际内存使用量(RAM+交换)将下降到系统+其他应用程序使用量(在我的虚拟机上约为1-1.5 GB)的水平。运行上面的命令,将数据从HDD移动到RAM大约需要几分钟。在我的情况下,硬盘是SSD。你确定它确实在移动要交换的页面吗?可能是操作系统丢弃了一大堆缓存数据(磁盘缓冲区等)。是的,你自己试试。我在虚拟机中测试了它。4 GB RAM和4 GB交换。我启动了一个巨大图像的图像编辑应用程序,总内存消耗约为6GB。交换了大约3 GB。然后关闭应用程序,实际内存使用量(RAM+交换)将下降到系统+其他应用程序使用量(在我的虚拟机上约为1-1.5 GB)的水平。运行上面的命令,将数据从HDD移动到RAM大约需要几分钟。在我的情况下,硬盘是SSD。