Linux虚拟内存(swap)调优篇 | 您所在的位置:网站首页 › deepin设置swap › Linux虚拟内存(swap)调优篇 |
Linux虚拟内存(swap)调优篇-“swappiness”,“vm.dirty_background_ratio”和“vm.dirty_ratio” 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。
我的kafka集群在上线一段时间后,发现内存使用达到峰值时系统开始使用swap。在swap的过程中系统性能会有所下降,表现为较大的服务延迟。对这种情况,可以通过调节swappiness内核参数降低系统对swap的使用,从而避免不必要的swap对性能造成的影响。接下来,我们就一起学习一下如何调优该参数吧!
一.创建交换分区 1>.什么是虚拟内存 如果物理内存不够用时,可以将那些最近很少使用的页面数据(Page)置换出去,即切换到硬盘上,但是要注意的是内存文件的格式和硬盘中文件的格式是不一样的,所以这个分区必须格式化成跟内存兼容的模式不能转换成文件的格式。以便把内存的page直接存入这个分区,方便内存直接调用。而这个页面(page)数据对于32位的操作系统一个page大概是4K左右,对于64位操作系统这个page大小是可变的,4k-2M的大小都是比较常见的。事实上到底能使用多大的页面(page)取决于CPU而不取决于内存哟!这就是虚拟内存的概念。在linux上我们称之为交换分区。记住,虚拟内存必须是一个单独的分区。 2>.虚拟内存能代替物理内存运行程序吗? 答案是否定的,只是使用虚拟内存暂时保存数据,而不是代替物理内存运行程序。 3>.虚拟内存的作用 当运行某个大程序、大游戏,需要的内存超过空闲内存但小于物理内存总量时,会暂时把内存里这些数据放到磁盘上的虚拟内存里,空出物理内存运行游戏。等退出游戏后,又会把虚拟内存里的东西读出来,放回物理内存。所以,虚拟内存,并不是用来虚拟物理内存的,而是暂存数据的。如果对内存的需求大于物理内存总量,那虚拟内存设多大都不管用。电脑内存太低,根本的方法还是增加物理内存,才能流畅。虚拟内存机制上就不管用,即使管用,比物理内存低100倍的速度,也管不上什么实际的作用。所以,虚拟内存大了是没用的,反而白占用磁盘空间。 4>.交换分区常用的参数介绍 交换分区: mkswap 格式化为虚拟内存 -L label 指定卷标 swapon 启动虚拟内存 -a 启动所有的虚拟分区 -p:指定优先级 swapoff 关闭虚拟内存 更多参数请参考man mkswap5>.案例实操-创建交换分区的步骤 ![]() ![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |