Ubuntu Linux 设置虚拟内存

本文介绍如何在Linux系统中增加Swap空间大小,包括创建Swap文件、激活Swap文件的过程,并提供了检查Swap空间大小的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

swap空间就是虚拟内存,在物理内存不足时,有较大的用处。

查看内存空间大小:free -m // m表示显示的字节单位是m(megabytes)

下面我们就来增加系统的 Swap 大小。

1.首先用命令free查看系统内 Swap 分区大小。
free -m

total used free shared buffers cached
Mem: 1002 964 38 0 21 410
-/+ buffers/cache: 532 470
Swap: 951 32 929

可以看到 Swap 只有951M,不符合 Oracle-xe-client 的安装要求。

2.创建一个 Swap 文件。
mkdir swap
cd swap
sudo dd if=/dev/zero of=swapfile bs=1024 count=100000

出现下列提示,上面命令中的 count 即代表swap文件大小。

记录了 100000+0 的读入
记录了 100000+0 的写出
102400000 字节 (102 MB) 已复制,0.74704 秒,137 MB/秒

把生成的文件转换成 Swap 文件
sudo mkswap swapfile

Setting up swapspace version 1, size = 102395 kB
no label, UUID=09fde987-5567-498a-a60b-477e302a988b

3.激活 Swap 文件。
sudo swapon swapfile

再次查看 free -m 的结果。

total used free shared buffers cached
Mem: 1002 967 34 0 22 410
-/+ buffers/cache: 534 467
Swap: 1053 32 1021

添加成功。

扩展:
如果需要卸载这个 swap 文件,可以进入建立的 swap 文件目录。执行下列命令。
sudo swapoff swapfile

如果需要一直保持这个 swap ,可以sudo -s换到root
然后把它写入 /etc/fstab 文件。

swapfilepath swap swap defaults 0 0

### 配置 Ubuntu 的交换分区或虚拟内存Linux 系统中,交换分区(Swap)是一种用于补充物理内存的技术。当系统中的可用 RAM 不足时,Linux 将部分不活跃的数据移动到 Swap 中,从而腾出更多 RAM 给活动进程使用[^1]。 以下是关于如何在 Ubuntu 上配置虚拟内存的具体方法: #### 方法一:通过命令行创建和启用新的 Swap 文件 可以按照以下步骤操作来手动增加或重新配置 Swap 文件大小: 1. **进入根目录并创建一个新的 Swap 文件** 使用 `dd` 命令生成指定大小的文件作为新 Swap 文件: ```bash sudo dd if=/dev/zero of=/mnt/swap bs=1M count=8192 ``` 这里 `/mnt/swap` 是目标路径名,而 `bs=1M count=8192` 则表示该文件总容量为 8GB (即每块大小为 1MB * 总数 8192)[^2]。 2. **更改权限以保护隐私安全** 修改新建文件访问控制属性使其仅限超级用户读写: ```bash sudo chmod 0600 /mnt/swap ``` 3. **初始化此文件成为合法的交换区** 执行下面指令完成格式化过程以便操作系统识别它是一个有效的 swap 设备: ```bash sudo mkswap /mnt/swap ``` 4. **激活刚刚建立好的交换区域** 启动刚才准备完毕的新 Swap 单元使之立即生效: ```bash sudo swapon /mnt/swap ``` 5. **持久保存修改后的状态至下次重启之后仍然有效** 编辑 fstab 文件加入如下一行内容实现开机自启加载功能: ```bash echo '/mnt/swap none swap sw 0 0' | sudo tee -a /etc/fstab > /dev/null ``` 6. **调整 Swappiness 参数提升效率** 调整内核行为倾向更频繁还是较少利用磁盘缓存机制存储临时数据项。较低数值意味着优先保留实际硬件资源而非依赖于硬盘模拟方案;反之亦然。 添加或者更新现有记录到 sysctl.conf 文本档当中去定义全局默认值: ```bash echo "vm.swappiness = 10" | sudo tee -a /etc/sysctl.conf > /dev/null ``` 应用最新设定无需注销登录账户即可即时反映改变效果: ```bash sudo sysctl -p ``` 7. **验证设置成果** 查看当前已有的所有交换设备列表及其各自的状态详情信息: ```bash free -h && cat /proc/swaps ``` 以上就是整个流程概述说明文档^, ^[3]. #### 方法二:直接增大现有的 Swap 分区尺寸 如果已经存在一个固定大小的传统型 Swap Partition,则可以直接将其扩大而不是另外再单独构建额外独立文件形式替代品: ```bash sudo swapoff -a sudo lvextend -L +<size>G <volume_group>/<logical_volume> sudo resize2fs /dev/<device_name> sudo mkswap /dev/<device_name> sudo swapon -a ``` 注意替换 `<size>`, `<volume_group>` 和其他占位符为你实际情况下的具体参数取值范围[^4]. --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值