微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CentOS 7下添加swap文件

当操作系统的内存不足以放置正在运行的应用程序时,操作系统将内存中的某些内容移出到交换文件或虚拟内存文件中的计算机硬盘中。增加更多的内存到电脑有助于缓解内存瓶颈不足的情形。这个特性在Windows表现为虚拟内存,在Linux中则表现为swap分区和swap文件。本文描述的是使用磁盘文件用作交换文件,不涉及swap分区。供大家参考。

一、查看当前是否使用swap分区或swap文件

# more /etc/redhat-release ##当前环境
CentOS Linux release 7.4.1708 (Core)

# cat /proc/meminfo|grep -i swap ##查看是否启用swap
SwapCached:            0 kB
SwapTotal:            0 kB
SwapFree:              0 kB

# free -m ## free命令也可以观察swap 使用情况
              total        used        free      shared  buff/cache  available
Mem:          3790        426        2805          1        558        3125
Swap:            0          0          0

# swapon -s ##查看swap是否开启

# df -h|grep -v tmpfs ##查看系统可用磁盘空间,用于确定将swap文件放在哪块磁盘或路径
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        40G  2.2G  36G  6% /

二、创建swap文件及启用swap

# fallocate -l 4G /mnt/swapfile ##快速生成swap文件
# ls -hltr /mnt/swapfile 
-rw-r--r-- 1 root root 4.0G Nov 22 16:19 /mnt/swapfile

可选的方案,这个方式相对较慢
# dd if=/dev/zero of=/mnt/swapfile2 bs=4096k count=1000

# chmod 600 /mnt/swapfile ## 权限设置

# mkswap /mnt/swapfile ##使用mkswap将文件设置为Linux交换区
Setting up swapspace version 1,size = 4194300 KiB       #Author : Leshami
no label,UUID=fe4a83d2-3e3a-459d-b4d9-3750e51930fb #Blog  : http://blog.csdn.net/leshami

# swapon /mnt/swapfile ##启用Linux交换区

# swapon -s
Filename                                Type            Size    Used    Priority
/mnt/swapfile                          file    4194300 0      -1

配置OS启动时自动加载Linux交换区
# echo "/mnt/swapfile swap swap defaults 0 0">> /etc/fstab 

三、swap使用频率设置

请注意,交换空间频繁使用的认值是60(最大值是100)。
数字越高,内核使用的交换空间越频繁。当该值设置为0时,交换文件将只在操作系统已充分利用内存的情况下使用。

# vim /etc/sysctl.conf 
vm.swappiness=10
# sysctl -p

# cat /proc/meminfo|grep -i swap
SwapCached:            0 kB
SwapTotal:      4194300 kB
SwapFree:        4194300 kB

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。