CentOS

centos虚拟内存添加与删除

2018-09-14  本文已影响0人  愚木非鱼

在云服务器编译php时,编译失败,提示内存不足,采用扩展虚拟内存的方法来解决问题。
swap是linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据。linux可以使用文件和分区来做为虚拟内存。

使用free命令查看当前系统内存和swap空间大小

 #free -m  // 默认k为单位,-m单位为M

查看swap信息,包括文件和分区的详细信息

 #swapon -s 

 #cat /proc/swaps

如果都没有swap信息,则需要手动添加交换分区。注意:OPENVZ架构的VPS是不支持手动添加交换分区的。

添加交换空间有两种选择:添加一个交换分区或者添加一个交换文件。推荐添加交换分区;若没有多余的空闲空间可用,则添加交换文件。

一,使用交换文件来做swap

1. 增加swap交换文件

a. 使用dd命令创建一个swap交换文件
#dd if=/dev/zero of=/tmp/swap bs=1024 count=1024000 // 创建swap文件,大小1G,文件越大,创建时间越长,文件路径可自定义(/tmp/swap)
#du -h /tmp/swap  // 查看创建的swap文件大小
b. 将文件转换为swap格式
#mkswap /tmp/swap
c. 使用swapon命令将这个文件挂在到swap分区
#swapon /tmp/swap

此时使用命令 free -m就能发现有交换分区了,但是系统重启之后,swap分区又回变为0

d. 使交换文件swap分区在系统重启依旧有效
 #vi /etc/fstab

在文件末尾(最后一行)加上

 /tmp/swap swap swap default 0 0

这样,即使重启,交换文件swap分区依旧有效

2. 删除swap交换文件

a. 停止swap分区
# swapoff /tmp/swap
b. 删除swap分区文件
# rm -rf /tmp/swap
c. 删除自动挂载配置命令
# vi /etc/fstab

这行删除

 /tmp/swap swap swap default 0 0

这样就能把手动添加的交换文件删除了

注意:

  • 增加删除swap命令只能使用root用户操作
  • 装系统时分配的swap分区貌似删不了
  • swap分区一般为内存的2倍,最大不超过2G

二,使用分区来做swap(虚拟内存)

1. 添加交换分区

a. 使用fdisk来创建交换分区

(创建过程略,假设/dev/sdb2是创建的交换分区)

b. 使用mkswap来设置交换分区
 mkswap /dev/sdb2
c. 启用交换分区
 swapon /dev/sdb2
d.写入/etc/fstab,以便引导时启用
 #vi /etc/fstab

在文件末尾(最后一行)加上

 /tmp/sdb2 swap swap default 0 0

这样,即使重启,交换文件swap分区依旧有效

2. 删除交换分区

a. 停止swap分区
# swapoff /dev/sdb2
b. 删除自动挂载配置命令
# vi /etc/fstab

这行删除

 /dev/sdb2 swap swap default 0 0

这样就能把手动添加的交换分区删除了

上一篇下一篇

猜你喜欢

热点阅读