centos7服务器内存不足
在系统物理内存不足时,将部分数据暂时移动到硬盘上的交换分区(或称为交换文件、页交换文件),从而释放出物理内存空间供其他程序使用。当需要访问被移动到硬盘上的数据时,操作系统会将其重新加载到物理内存中。这个过程被称为“页面置换”。
1、使用命令查看当前服务器的内存和交换内存的使用情况
free -h
2、创建一个新的交换分区或文件。可以使用mkswap命令创建一个新的交换分区
(1)例如,要在/dev/sda3分区上创建一个4GB的交换分区,可以运行以下命令:
通常,交换内存的大小应该在物理内存的1-2倍之间。例如,如果物理内存为8GB,交换内存可以设置为8GB-16GB。
sudo mkswap /dev/sda3
(2)如果要创建一个交换文件,可以使用dd命令创建一个指定大小的文件,然后使用mkswap命令将其设置为交换文件。例如,要创建一个4GB的交换文件,可以运行以下命令:
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 sudo mkswap /swapfile
dd:是一个Linux命令,用于将一个文件或设备的内容复制到另一个文件或设备
if=/dev/zero:表示输入文件是/dev/zero,即一个无限循环的零字节设备文件
of=/swapfile:表示输出文件是/swapfile,即要创建的交换文件
bs=1M:表示每次读写的块大小为1MB
count=4096:表示要复制的块数为4096个,即要创建的交换文件大小为4096MB
mkswap:是一个Linux命令,用于将指定的分区或文件设置为交换分区
/swapfile:表示要设置为交换分区的文件。在这个例子中,/swapfile是刚刚创建的交换文件。执行这个命令后,Linux系统会将/swapfile文件设置为交换分区,以便在物理内存不足时,将部分数据暂时移动到硬盘上的交换分区,从而释放出物理内存空间供其他程序使用
3、启用交换分区或文件。使用swapon命令启用交换分区或文件
例如,要启用/dev/sda3分区上的交换分区,可以运行以下命令
sudo swapon /dev/sda3
要启用/swapfile文件,可以运行以下命令:
sudo swapon /swapfile
4、设置交换分区或文件的权限
使用chmod和chown命令设置交换分区或文件的权限。例如,要设置/swapfile文件的权限,可以运行以下命令:
sudo chmod 600 /swapfile sudo chown root:root /swapfile
5、使交换分区或文件在系统启动时自动挂载
在/etc/fstab文件中,添加一行以指定交换分区或文件的挂载信息。例如,要在/dev/sda3分区上自动挂载交换分区,可以在/etc/fstab文件中添加以下行:
/dev/sda3 swap swap defaults 0 0
要在/swapfile文件上自动挂载交换文件,可以在/etc/fstab文件中添加以下行:
/swapfile swap swap defaults 0 0
6、重启系统以使更改生效。运行以下命令重启系统:
sudo reboot