linux交换分区设置过大,linux下swap交换分区调整方法

  • Post author:
  • Post category:linux


什么是swap

Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。swap分区是从磁盘空间划分而来,有的是单独使用一个分区,有的是把一个大文件当做swap

linux下手动创建swap

#手动增加swap分区的大小

#先用dd建立一个分区,

dd if=/dev/zero of=/home/swap bs=1024 count=512000

#将刚才建立的分区变成swap分区

/sbin/mkswap /home/swap

#让这个swap分区。使其成为有效状态

/sbin/swapon /home/swap

#注意这只是临时生效的,想要永久生效,需要加入到开机自启动,vim /etc/fstab

/home/swap swap swap defaults 0 0

#开机自动挂载磁盘的配置方法(注意挂载网络文件系统时,必须以uuid,而且还需要_netdev参数)

#我们不用设备名进行挂载,而用uuid

blkid #查看各个设备分区的uuid号

vim /etc/fstab

UUID=7fe7aab4-188e-484c-b087-7a8ae26e73c9 / xfs defaults 0 0

UUID=2805d108-6ce1-407a-be5f-8765f3ae566c /boot xfs defaults 0 0

UUID=ba6f5d6f-1ecf-4947-9989-5a3c64033aff swap swap defaults 0 0

UUID=ba6f5d6f-1ecf-4947-9989-5a3c64033a78 /mnt xfs _netdev 0 0

#分别是设备名 挂载点 文件系统类型 参数 是否自检

linux下关闭swap,删除swap分区,切记不能删除swap所在的lvm分区,不然启动不了

确定是否有用户在使用swap分区,看used部分

cat /proc/swaps

关闭swap,适用于大内存系统

swapoff -a

开启swap

swapon -a

#刷新swap,当swap占用率高达30%时,对系统性能可能会有一定影响,执行如下命令讲swap里的数据转储回内存中,并清空swap里的数据

swapoff -a && swapon -a

停止/关闭正在使用的swap分区:

swapoff /dev/mapper/centos-swap

swapoff -a #这是关闭所有的swap

删除swap分区文件:

rm /dev/mapper/centos-swap

删除或注释在/etc/fstab文件中的以下开机自动挂载内容:

vi /etc/fstab

千万不要执行删除lvm分区,不然系统无法正常启动,(起码我还没有找到如何正常启动的方法,还原回去?)

lvremove /dev/centos/swap

###########重要########

追加更新,若是删除了swap的lvm,你可以随便在创建一个swap的lvm分区,大小随意,只要有系统就可以启动。

#删除swap lvm分区系统无法启动的恢复办法

lvcreate -n swap -L 1g centos

#(为什么之前有swap lvm分区的系统被删除lvm分区后无法启动,我也不知道,不过哪儿肯定存在一个设置开关,)

如果文章对你有帮助,欢迎点击上方按钮打赏作者