手把手教您扩展虚拟内存

简介:
1.检查现有交换空间的大小

如果你想检查你现有虚拟内存的大小,可以使用命令‘free -m ’

[root@chenfancentos ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           988        164        823          0         26         48
-/+ buffers/cache:         90        898
Swap:         1999          0       1999

根据现有交换空间的大小,选择合适的拓展大小。

2.创建适合的swapfile

我们经常可以使用"dd"命令来创建一个文件,用 “if” 指定源,基本上除了 “/dev/zero” 外基本上不会写别的,而/dev/zero 是UNIX系统特有的一个文件。“of” 指定目标文件, “bs” 定义块的大小, “count” 定义块的数量,这两个参数的多少决定了目标文件的大小。

[root@chenfancentos ~]# dd if=/dev/zero of=/tmp/swapfile  bs=300M count=1
记录了1+0 的读入
记录了1+0 的写出
314572800字节(315 MB)已复制,13.9027 秒,22.6 MB/秒
[root@chenfancentos ~]# du  -h /tmp/swapfile
300M    /tmp/swapfile

可以看到新生成了一个swapfile文件,大小为300M.

3.格式化刚才创建的swapfile
[root@chenfancentos ~]# mkswap -f /tmp/swapfile
Setting up swapspace version 1, size = 307196 KiB
no label, UUID=c4e2a8b1-fa09-41ab-bcbf-63c273ed9598

可以看到格式化后成功的UUID信息

4.实现开机自动挂载交换文件

我们在/etc/fstab中增加一下条目 /tmp/swapfile swap swap defaults 0 0,就能实现开机自动挂载。

[root@chenfancentos ~]# cat /etc/fstab
# /etc/fstab
# Created by anaconda on Sat Apr  2 19:37:01 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=301b2f9f-91d3-47dd-8a43-d377cba1cd5c /                       ext4    defaults        1 1
UUID=812455f9-a63f-4b09-9336-05e3ada6f9a7 /boot                   ext4    defaults        1 2
UUID=416480d0-662c-406c-a328-b4c2f370577b swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/tmp/swapfile            swap                   swap    defaults        0 0

就这样即使后续重启,也能做到自动挂载。

5.启用swapfile,查看虚拟内存大小
[root@chenfancentos ~]# swapon /tmp/swapfile
[root@chenfancentos ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           988        136        852          0         10         50
-/+ buffers/cache:         74        913
Swap:         2299          0       2299

可以兴奋的看到,相对于初始的虚拟内存,现在增加了300M。是不是有点激动,想要体验Linux之美,跟着山医的小凡一起动手实验。



本文转自Linux就该这么学博客园博客,原文链接:http://www.cnblogs.com/linuxprobe/p/5445576.html,如需转载请自行联系原作者

相关文章
|
30天前
|
算法 Java C++
【C/C++ 内存知识扩展】内存不足的可能性分析
【C/C++ 内存知识扩展】内存不足的可能性分析
12 0
|
3月前
|
安全 Android开发
内存标记扩展:通过架构增强内存安全性
内存标记扩展:通过架构增强内存安全性
41 0
|
9月前
|
存储 缓存 Java
volatile的扩展分析(2)——happens-before 与 内存屏障
volatile的扩展分析(2)——happens-before 与 内存屏障
76 0
volatile的扩展分析(2)——happens-before 与 内存屏障
|
11月前
|
缓存 安全 Java
MoE 系列(五)|Envoy Go 扩展之内存安全
前面几篇介绍了 Envoy Go 扩展的基本用法,接下来几篇将介绍实现机制和原理。
|
存储 编译器 程序员
C++内存分区模型分析与实例以及扩展
C++程序在执行时,将内存大方向划分为**5个区域** 运行前: - 代码区:存放**函数体的二进制代码**,由操作系统进行管理的 - 全局区(静态区):存放**全局变量和静态变量以及常量** - 常量区:**常量**存储在这里,不允许修改 运行后: - 栈区:由编译器自动分配释放, 存放**函数的参数值**,**局部变量等** - 堆区:**由程序员分配和释放**,若程序员不释放,程序结束时由操作系统回收
171 0
C++内存分区模型分析与实例以及扩展
|
Kubernetes 数据可视化 API
探索使用Kubernetes扩展专用游戏服务器:第2部分-管理CPU和内存
探索使用Kubernetes扩展专用游戏服务器:第2部分-管理CPU和内存
128 0
探索使用Kubernetes扩展专用游戏服务器:第2部分-管理CPU和内存
|
存储 编译器 Swift
Swift5.0 - day7-扩展、访问控制、内存管理
Swift5.0 - day7-扩展、访问控制、内存管理
143 0
Swift5.0 - day7-扩展、访问控制、内存管理
|
自然语言处理 Java C#
block产生的内存泄漏以及解决方案(以及扩展)
block产生的内存泄漏以及解决方案(以及扩展)
440 0
|
存储 机器学习/深度学习 分布式计算
10月29日社区直播【Spark Shuffle RPMem扩展: 借助持久内存与RDMA加速Spark 数据分析】
介绍如何利用持久化内存与高性能RDMA 网络来加速Spark Shuffle。
10月29日社区直播【Spark Shuffle RPMem扩展: 借助持久内存与RDMA加速Spark 数据分析】

热门文章

最新文章

相关课程

更多