CentOS 7下添加swap文件

来源:互联网 发布:helloworld的java程序 编辑:程序博客网 时间:2024/06/05 08:32

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

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

# more /etc/redhat-release         ##当前环境CentOS Linux release 7.4.1708 (Core)# cat /proc/meminfo|grep -i swap  ##查看是否启用swapSwapCached:            0 kBSwapTotal:            0 kBSwapFree:              0 kB# free -m     ## free命令也可以观察swap 使用情况              total        used        free      shared  buff/cache  availableMem:          3790        426        2805          1        558        3125Swap:            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 : Leshamino label, UUID=fe4a83d2-3e3a-459d-b4d9-3750e51930fb #Blog  : http://blog.csdn.net/leshami# swapon /mnt/swapfile   ##启用Linux交换区# swapon -sFilename                                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 swapSwapCached:            0 kBSwapTotal:      4194300 kBSwapFree:        4194300 kB