一.简介:node
Linux内核为了提升读写效率与速度,会将文件在内存中进行缓存,这部份内存就是Cache Memory(缓存内存)。即便你的程序运行结束后,Cache Memory也不会自动释放。这就会致使你在Linux系统中程序频繁读写文件后,你会发现可用物理内存变少。当系统的物理内存不够用的时候,就须要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操做的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。这样,系统老是在物理内存不够时,才进行Swap交换。vim
二.查看swap分区大小:缓存
[root@node1 ~]# free total used free shared buffers cached Mem: 1906256 158332 1747924 168 6164 44048 -/+ buffers/cache: 108120 1798136 Swap: 2097148 0 2097148 [root@node1 ~]# free -m total used free shared buffers cached Mem: 1861 154 1706 0 6 43 -/+ buffers/cache: 105 1755 Swap: 2047 0 2047 [root@node1 ~]# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 2097148 0 -1
三.释放swap空间:bash
先关闭swap分区,而后再次打开swap分区。app
1.查看swap分区信息 [root@node1 ~]# free -m total used free shared buffers cached Mem: 1861 154 1706 0 6 43 -/+ buffers/cache: 105 1756 Swap: 2047 0 2047 [root@node1 ~]# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 2097148 0 -1 2.关闭swap分区 [root@node1 ~]# swapoff /dev/dm-1 3.检查swap分区 [root@node1 ~]# free -m total used free shared buffers cached Mem: 1861 153 1707 0 6 43 -/+ buffers/cache: 104 1757 Swap: 0 0 0 4.开启swap分区 [root@node1 ~]# swapon /dev/dm-1 [root@node1 ~]# free -m total used free shared buffers cached Mem: 1861 155 1706 0 6 43 -/+ buffers/cache: 105 1755 Swap: 2047 0 2047
四.修改参数swappinesside
系统在什么状况或条件下才会使用Swap分区的空间呢? 实际上是Linux经过一个参数swappiness来控制的。这个参数值可为 0-100,控制系统 swap 的使用程度。高数值可优先系统性能,在进程不活跃时主动将其转换出物理内存。低数值可优先互动性并尽可能避免将进程转换处物理内存,并下降反应延迟。默认值为 60。性能
临时修改1: [root@node1 ~]# more /proc/sys/vm/swappiness 60 [root@node1 ~]# echo 10 > /proc/sys/vm/swappiness [root@node1 ~]# more /proc/sys/vm/swappiness 10 临时修改2: sysctl vm.swappiness=10 永久修改: echo 'vm.swappiness=10' >>/etc/sysctl.conf 重启系统后生效。
五.调整swap分区大小spa
方法1:若是是swap是逻辑卷进程
[root@node1 ~]# ll /dev/mapper/ total 0 crw-rw---- 1 root root 10, 58 Oct 13 09:49 control lrwxrwxrwx 1 root root 7 Oct 13 09:50 vg_node1-lv_root -> ../dm-0 lrwxrwxrwx 1 root root 7 Oct 13 10:09 vg_node1-lv_swap -> ../dm-1 [root@node1 ~]# swapon -s Filename Type Size Used Priority /dev/dm-1 partition 2097148 0 -1 1.关闭Swap交换分区 swapoff /dev/dm-1 或者swapoff /dev/mapper/vg_node1-lv_swap 2.若是vg有空余空间,则采用lvextend扩容方式 lvextend -L 3G /dev/mapper/vg_node1-lv_swap 3.格式化: mkswap /dev/mapper/vg_node1-lv_swap 4.启动swap分区 swapon /dev/mapper/vg_node1-lv_swap 5.添加到开机自启 cat /etc/fstab 默认系统已经自动挂载 /dev/mapper/vg_node1-lv_root / ext4 defaults 1 1
方法2:文件建立swap分区内存
1.建立文件/root/swap # dd if=/dev/zero of=/root/swap bs=1024M count=8(从/分区分出8x1024M大小的空间,挂在/root/swap上) 2.格式化: # mkswap /root/swap (格式化成swap格式) 3.启用: # swapon /root/swap (激活/root/swap,加入到swap分区中) 若是报错,则swapon -f /root/swap 4.添加开机自启 # vim /etc/fstab (开机自启动新添加的swap分区) /root/swap swap swap defaults 0 0 5.删除新增的文件只须要执行 #swapoff /root/swap
方法3:新增硬盘方式
1.建立分区 fdisk--n--t-(调整类型为82swap) 2.格式化成swap格式 mkswap /dev/sda3 3.启用: swapon /dev/sda3 3.开机自启动挂载 vim /etc/fstab /dev/sda3 swap swap defaults 0 0