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缓存的方法和示例。希望对你有所帮助。

相关推荐
CS_Zero4 小时前
Ubuntu 22.04挂载新硬盘
linux·运维·ubuntu
oushaojun24 小时前
深入 Linux 动态链接:so 库构建与运行逻辑(转)
linux
雾隐隐o4 小时前
Docker Compose 多容器编排实战
运维·docker·容器
莫得感情 o4 小时前
Redis 04 · 执行模型:一条命令的生命周期与 I/O 多路复用
redis·缓存
姚不倒4 小时前
负载均衡架构设计:F5 ↔ Nginx/HAProxy ↔ Keepalived 全链路映射
运维·网络·nginx
好评1244 小时前
【Linux】应用层自定义协议与序列化
linux·运维·网络
赴生-5 小时前
Lunix 操作系统 基本指令(一)
linux
oushaojun25 小时前
大厂 C++ 后端面试:深度拆解 Linux页表 机制(转)
linux
励志不掉头发的内向程序员5 小时前
【LibreCAD 2D架构】从鼠标点击到屏幕像素:LibreCAD绘图架构全链路解析之Action与命令系统
linux·开发语言·c++·qt·学习·系统架构
fengyehongWorld5 小时前
Linux caddy的安装与配置
linux·运维·服务器