1、 控制swap使用的系统参数:swappiness
如果swappiness设置太大(内存的速度会比磁盘快很多),这样子会加大系统io,同时造的成大量页的换桥型进换出,严重影响系统的性能,所以我们在 *** 作系统层圆消差面,要尽可能使用内存,对该参数进行调整。
2、 Linux默认swappiness
默认为60,也就是说当物理内存使用到40%的时候开始使用swap。
1、设置
2、激活
当以上方法无法解决问题,或者机器内存消耗大,添加内存,swap也要相应扩展。
1、 查看swap****空间
2、 查看/dev/zero
此/dev/zero一共就1.9G所以添加swap空间不可以超过1.9G
解释: /dev/zero也是一个伪文件,但它实际上产生连橘皮续不断的null的流(二进制的零流,而不是ASCII型的)。写入它的输出会丢失不见,/dev/zero主要的用处是用来创建一个指定长度用于初始化的空文件,像临时交换文件。可以用来创建swap。
3、 新建swap****分区空间
注意:创建好的交换文件不能删除,所以要提前找到一个目录。
解释:of为文件名。Bs为单个大小。Count为数量。我创建了一个1G的文件。
4、 mkswap****创建交换文件
5、 swapon****激活
6、 验证
7、 开机启动
由于以上 *** 作为临时生效,服务器重启会失效。所以要设置开机启动。
8、 其他 *** 作
a) 停用:swapoff swapfile
b) 删除:rm –rf swapfile
c) 删除随即启动swap:vi /etc/fstab
这里我要跟大家介绍的是Linux系统中调整swap大小的 方法 。欢迎大家阅读。
Linux系统中调整swap大小的方法
1、使用free命令带上m参数,查看swap文件大小,官方建议在RAM是2到4.5G时,swap是RAM的2倍如果RAM大于等于4G则swap等于RAM即可
2、也可用cat 查看etc目录下的swaps文件,如下图
3、创建一个swap文件
复制内容到剪贴板
########
dd if=/dev/zero of=/tmp/swap bs=1MB count=1024
########
以下迅渗亩仅供参考:不用看
Creating a swap file
First of, make sure the file system the disk you wish to swap on is properly mounted. For the purposes of this tutorial we will assume the disk is mounted as /mnt and we want to use the file /mnt/myswap.swp for swapping.
使用下面的命令创建一个1G的swap文件
复制内容到剪贴板
Use the following command to create a 1024MB file that we will use for swapping
########
dd if=/dev/zero of=/mnt/myswap.swp bs=1024MB count=1
########
4、制作一亩森个swap文件,如果觉得繁琐,可以将mkswap文件挂载到tmp目录下,例如:
复制内容到剪贴板
########
mkswap /tmp/swap
########
以下仅供参考:不用看
Preparing the swap file
Before we enable the swap file we must first set it up. The following command accomplishes just that:
########
mkswap /mnt/myswap.swp
########
5、使用swapon 启动/tmp/swap
复制内容到剪贴板
########
swapon /tmp/swap
########
使用一个swap分区,如果已经有一个swap分区,该步骤可以省略
以下仅供参考:不用看
Using a swap partition
Setting up a swap partition is a bit more difficult, as the partition must be first created then formatted using the linux-swap file system. Once that is done, assuming the swap partition is at/dev/scsi/host0/bus0/target0/lun0/part5 (common for v24 USB drives with mutiple partitions), the only command that needs be issued is:
6、喊配再次使用free查看增加后的swap大小
7、如果只想增加swap大小,请忽略以下的 *** 作,重要!!如果不使用刚才增加的1G的swap文件,使用下面的swapoff命令,可以关闭,这样swap文件就缩小了1G
使用swapoff关闭swap文件
复制内容到剪贴板
########
swapoff /tmp/swap
########
注意事项:如果只想增加swap大小,请忽略第7步的所有 *** 作。
如果你不喜欢记上述条件,那么一般Swap分区设置内存2倍就可以例子:一个4c8g的机器,给其创建一个16g的swap分区。
2.1 创建步骤:
1. 创建swap交换区硬盘存储用的空白文件。
# 这里bs是块大小,bs*count就是我们要创建的swap空文件大小
dd if=/dev/zero of=/swap bs=1024M count=8
2.使用mkswap格式化文件为swap文件系统
#-f 使用文件作为swap交换区
mkswap -f /swap
3.启用刚才创建的swap文件
swapon /swap
4.设置开机自动启用swap文件交换区( 否则重启后swap分区会消失,这里会自动挂载 ):
vim /etc/fstab,添加如下内容
5.关闭swap分区,可以纤链使用swapoff命令关闭swap。
1)关闭swap 分区
swapoff /swap
2)确认swap分区关闭成功
swapoff
6. 调整swap分区大小
1)关闭swap 分区
swapoff /swap
2)确认swap分区关闭成功
swapoff
3) 手喊删除swap分区
rm -rf /swap
然后按照1~4步骤,重新创建和挂载开启swap分区即可
7. 确认swap分区是否真的开启
free -m或则top,能够看到swap分区的大小。
swap分区一般毁薯孙是在系统内存不足的时候才会发生换入换出,我们知道swap分区是硬盘上的一块儿区域,所以 性能上肯定不如真实的物理内存, 那么在实际的性能测试过程中,我们都要注意哪几点呢?
1) swap分区开始被使用(top命令观察)
这时候说明系统的内存不足了,一般的性能测试不建议压测到大量使用swap分区(自行控制压测tps),如果大量使用swap分区,我们可能会看到wa(io等待)有些高,这个时候整个机器系统效率不会很高。
2)压测场景
很多实时性比较高,且耗内存的程序在设计性能测试case的时候,需要分开启swap分区和不开启swap分区两种场景进行测试,这种一般需要和开发沟通测试场景。
3)swap分区的性能
由于swap分区是硬盘的一部分,可想而知,硬盘的档次也会决定了swap分区的性能,比如ssd的硬盘的的swap分区性能就比普通硬盘要好,所以这个在性能测试上也要考虑真正在生产环境部署的时候我们使用哪类硬盘作为swap分区(包括程序的大量IO性能),以确定一个性能参数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)