CentOS7设置虚拟内存

1、 查看服务器内存

shell 复制代码
> free -mh

              total        used        free      shared  buff/cache   available
Mem:           3.7G        1.4G        128M         64M        2.1G        1.9G
Swap:           0          0           0

2、创建虚拟内存

合理规划和设计 Linux 内存的使用是非常重要的,关于物理内存和交换空间的大小设置问题,取决于实际所用的硬盘大小,但大致遵循这样一个基本原则:

1、如果内存较小(根据经验,物理内存小于 4GB),一般设置 swap 分区大小为内存的 2 倍;

2、 如果物理内存大于 4GB,而小于 16GB,可以设置 swap 分区大小等于物理内存;

3、如果内存大小在 16GB 以上,可以设置 swap 为 0,但并不建议这么做,因为设置一定大小的 swap 分区是有一定作用的。

2.1 创建swap文件

创建swap文件(每块1M,总共8192块,共计:8192M)

shell 复制代码
> dd if=/dev/zero of=/data/swap bs=1M count=8192

8192+0 records in
8192+0 records out
8589934592 bytes (8.6 GB) copied, 51.4025 s, 167 MB/s

2.2 查看swap文件的大小

shell 复制代码
> ll /data -h

-rw-r--r--  1 root    root 8589934592 Sep  6 16:01 swap

2.3 降低swap权限

shell 复制代码
> cd /data
> chmod 0600 swap

> ll /data -h
-rw-------  1 root    root 8.0G Sep  6 16:02 swap

3、构建并激活swap

3.1 构建swap格式到swapfile

shell 复制代码
> mkswap /data/swap

Setting up swapspace version 1, size = 8388604 KiB
no label, UUID=40a9ea8d-3736-45bd-9a41-27903f5cd6bc

3.2 激活swap

shell 复制代码
> swapon /data/swap

# 若执行了chmod 0600 swap则不会提示
swapon: /data/swap: insecure permissions 0644, 0600 suggested.

3.3 查看一下swap的大小

shell 复制代码
> free -mh

              total        used        free      shared  buff/cache   available
Mem:           3.7G        1.4G        128M         64M        2.1G        1.9G
Swap:          8.0G          0B        8.0G

四、永久生效

上述操作仅仅在本次开机有效,重启失效,我们需要保存一下配置

shell 复制代码
> vim /etc/fstab

# 将/swap none swap sw 0 0 这行注释掉,新增一行

> /data/swap swap swap defaults 0 0

五、修改虚拟内存大小

如果已经设置了虚拟内存,想修改一下大小,或者取消设置虚拟内存的,只需关闭swap并删除之前创建的swap文件即可。

5.1 关闭swap

shell 复制代码
> swapoff /data/swap

5.2 删除/root/swapfile

shell 复制代码
> rm -rf /data/swap

5.3 然后重复设置的步骤二、三、四

相关推荐
wdfk_prog7 小时前
[Linux]学习笔记系列 -- hashtable
linux·笔记·学习
每日出拳老爷子8 小时前
【远程协助】内网 IT 运维远程协助系统的最小可用架构
运维·服务器·远程工作·流媒体·视音频
weixin_462446238 小时前
使用 Puppeteer 设置 Cookies 并实现自动化分页操作:前端实战教程
运维·前端·自动化
CheungChunChiu8 小时前
Linux 内核动态打印机制详解
android·linux·服务器·前端·ubuntu
BlueBirdssh9 小时前
linux 内核通过 dts 设备树 配置pcie 控制器 各种参数和中断等, 那freeRTOS 是通过直接设置PCIe寄存器吗
linux
小目标一个亿10 小时前
Windows平台Nginx配置web账号密码验证
linux·前端·nginx
实战项目10 小时前
软件测试自动化框架的设计与实现
运维·自动化
Aotman_10 小时前
Element-UI Message Box弹窗 使用$confirm方法自定义模版内容,修改默认样式
linux·运维·前端
Elastic 中国社区官方博客10 小时前
使用 Elastic 中的 OpenTelemetry 为 Nginx 实现端到端分布式追踪的实用指南
大数据·运维·分布式·elasticsearch·搜索引擎·信息可视化·全文检索
独自破碎E11 小时前
配置ssh解决https不稳定的问题
运维·ssh