linux增加SWAP缓存

linux增加SWAP缓存

扩展物理内存的一种技术。当系统的物理内存不足以满足应用的需求时,Linux会使用SWAP分区作为虚拟内存,我们可以通过以下步骤来增加SWAP缓存。

一、Centos
  1. 检查当前SWAP状态

首先,我们需要检查当前的SWAP状态。可以使用free -m命令来查看内存的使用情况,包括物理内存、交换内存等信息。例如:

bash 复制代码
free -m
              total        used        free      shared  buff/cache   available
Mem:           785         324         106          12        396         351
Swap:          2047           0        2047   

从上面的输出中,我们可以看到当前的SWAP大小为2GB,已使用0B。接下来,我们将通过增加SWAP文件来扩展SWAP缓存。

  1. 创建SWAP文件

要创建一个新的SWAP文件,请按照以下步骤操作:

  1. 使用dd命令创建一个空的SWAP文件。例如,我们可以创建一个2GB大小的SWAP文件:
bash 复制代码
dd if=/dev/zero of=/swapfile bs=1M count=2048    
  1. 设置SWAP文件的权限,以确保只有root用户可以访问:
bash 复制代码
chmod 600 /swapfile    
  1. 把新创建的文件设置为SWAP文件。使用mkswap命令来初始化SWAP文件:
bash 复制代码
mkswap /swapfile    
  1. 启用新的SWAP文件。使用swapon命令来启用刚刚创建的SWAP文件:
bash 复制代码
swapon /swapfile    

现在,新的SWAP文件已经启用并可以使用了。我们可以再次使用free -m命令来查看当前的内存使用情况:

bash 复制代码
free -m
              total        used        free      shared  buff/cache   available
Mem:           785         324         106          12        396         351
Swap:          4095           0       4095   

从上面的输出中,我们可以看到新的SWAP大小为4GB,已使用0B。至此,我们已经成功地在CentOS 7上增加了SWAP缓存。

二、Ubuntu

在Ubuntu中,我们可以使用fallocate命令创建一个空的SWAP文件,然后使用mkswap命令初始化SWAP文件,最后使用swapon命令启用SWAP文件。以下是具体的操作步骤:

首先,我们需要创建一个空的SWAP文件。假设我们要创建一个2GB大小的SWAP文件,可以使用以下命令:

bash 复制代码
sudo fallocate -l 2G /swapfile   

然后,我们需要设置SWAP文件的权限,以确保只有root用户可以访问:

bash 复制代码
sudo chmod 600 /swapfile    

接下来,我们需要初始化SWAP文件。可以使用以下命令:

bash 复制代码
sudo mkswap /swapfile   

最后,我们需要启用SWAP文件。可以使用以下命令:

bash 复制代码
sudo swapon /swapfile

为了确保SWAP文件在系统重启后仍然有效,我们需要将其添加到/etc/fstab文件中。可以使用以下命令:

bash 复制代码
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab    

以上就是在CentOS和Ubuntu上增加SWAP缓存的方法和示例。希望对你有所帮助。

相关推荐
Fu_Lin_5 分钟前
Qt嵌入式从零基础到精通(01):Qt嵌入式开发全景图:从桌面Qt到ARM Linux
linux·arm开发·qt·qt5·嵌入式linux
池央7 分钟前
NAS里的大文件怎么快速传?用Copyparty搭建轻量文件服务器
运维·服务器·cpolar
lczllx14 分钟前
从 TCP 90μs 到 SHM 28μs:我的 RPC 框架零拷贝优化历程
linux·后端
盐焗鹌鹑蛋1 小时前
【Linux】权限
linux
窝子面1 小时前
认识Docker与启动容器与镜像的关系
运维·docker·容器
小此方1 小时前
Re:Linux系统篇(四十六)信号篇·四:一文串联操作系统底层:时钟中断、内核态切换、系统调用与 Linux 信号处理全解析
linux·驱动开发·信号处理
编程序的员1 小时前
使用OpenTelemetry来监控GoLang应用
运维·golang·monitoring·apm·opentelemetry
羑悻的小杀马特2 小时前
把随身WiFi改成网盘聚合器:中兴F50挂载本地存储+夸克网盘实战
运维·服务器·人工智能·网盘·openlist
无人生还别怕2 小时前
如何制作一个linux标准iso镜像
linux·iso·opencloudos·openanolisos
YOU OU9 小时前
Redis基础常识与命令
数据库·redis·缓存