手把手教您扩展虚拟内存
2016-05-01 11:32
309 查看
导读 | 在linux磁盘刚分区的时候,我们会划分一个swap分区,这块分区作为一块虚拟内存,承担着扩充内存的作用。然而在工作中我们会遇到虚拟内存也不够用的情况,这个时候我们也不能重新给磁盘进行分区,只能通过增加一个swap文件,来扩充我们的虚拟内存。接下来,山医的小凡将手把手带你扩充你的虚拟内存。 |
如果你想检查你现有虚拟内存的大小,可以使用命令‘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之美,跟着山医的小凡一起动手实验。
相关文章推荐
- hiho#1032 : 最长回文子串 (manacher算法O(n)时间求字符串的最长回文子串 )
- Cordova页面加载外网图片失败,Refused to load the image
- Android Studio Subversion 版本异常报错
- HttpClient用于https交互
- 【一天一道LeetCode】#34. Search for a Range
- 【一天一道LeetCode】#34. Search for a Range
- 用同文输入法,实现五笔双键布局
- 让一个平淡无奇的网站盈利你需要这五个主意
- iOS下使用FFMPEG
- [系统运维]进程的守护神 - Supervisor
- bat判断window服务是否存在
- [C++]实现--讨论关于实现中可能出现的问题
- C# winform中DataGridView最常用的知识点
- ArchLinux 升级导致的wifi故障
- 剑指offer----用两个队列实现一个栈(java代码)
- Windows10下80端口被PID为4的System占用导致Apache无法启动的分析
- HBase分布式安装配置图文详解
- 解决移动端a标签点击有边框问题
- J2EE环境搭建(二)安装Eclipse插件和第一个Eclipse项目
- SPFA队列模板