Ubuntu中的swap内存分配原则主要遵循以下几个原则:
Ubuntu默认使用页面置换算法来决定哪些内存页应该被交换出去。常见的算法包括:
Ubuntu 20.04及更高版本默认使用的是改进的Clock算法。
可以通过修改/etc/sysctl.conf
文件来调整swap的使用策略和行为。
vm.swappiness
:控制操作系统使用swap空间的倾向性。取值范围是0到100。
0
:完全避免使用swap。100
:尽可能多地使用swap。vm.vfs_cache_pressure
:控制内核回收用于文件系统缓存的页面的压力。较高的值会使内核更倾向于回收缓存页以释放内存。
vm.dirty_ratio
和 vm.dirty_background_ratio
:控制脏页(已修改但未写入磁盘的页)的比例。
vm.dirty_ratio
:当脏页占用的内存达到这个比例时,系统将开始写回脏页。vm.dirty_background_ratio
:当脏页占用的内存达到这个较低的比例时,后台写回进程将开始工作。free -h
命令查看当前的内存和swap使用情况。vmstat
或top
命令监控系统的实时性能。vm.swappiness
等参数,以达到最佳的性能平衡。通过合理配置和监控,可以有效地管理Ubuntu系统中的swap内存,确保系统的稳定性和性能。