怎样使用虚拟内存swap虚拟内存

扫一扫体验手机阅读
linux视频教程之建立虚拟内存Swap
建立虚拟内存空间
1. 以fdisk /dev/hd[a-d] 先建立一个partition &我建立一个500M的
& &(有必要时可在建立一个partition后,将该partition的ID改为82这是一个swap 的磁盘文件格式代号)
2. 以mkswap /dev/hd[a-d][1-16] 的方式来将刚刚的partition 格式化为swap格式 
3. 再来则是将swap 启动,启动的指令为swapon /dev/hd[a-d][1-16]
我们立虚拟内存后,要实现要每次系统启动时,它自动就跟着启动,应该怎么做?
就是编辑/etc/fstab文件
等一下,看启动起来以后的虚拟内存应该是1G左右
比较慢,快进吧...
这样就成功的应用了
如果我就一块硬盘,都分完区了,那应该怎么办?
建立虚拟内存文件
1. 以dd 指令来建立swapfile ;
2. 以mkswap 来将swapfile 格式化为swap格式;
3. 以swapon 来启,使成为swap ;
4. 以swapoff 来关闭
现在的是1020076
1. 使用dd 这个指令来新增一个64MB 的文件在/tmp 底下:
dd if=/dev/zero of=/tmp/swap bs=4k count=16382
dd 这个指令是用来转换文件并且copy 用的;
if 指的是要被转换的输入文件格式/dev/zero (关于zero和null可以由man来查看)
of 指的是输出的文件,我们将之输出到/tmp/swap 这个文件;
bs 指的是一个扇区占用几个kb ;
count 指的是要使用多少个bs ,所以最后的容量为bs*count = 4k * 163820 ~ 640MB
如上所述,我们将建立一个名为/tmp/swap 的文件,且其内容共有640MB 左右大小的文件;
2. 使用mkswap 将/tmp/swap 这个文件格式化为swap 的文件格式:
mkswap /tmp/swap
3. 使用swapon 来将/tmp/swap 启动
swapon /tmp/swap
看,多了640多M
4. 使用swapoff 关掉swap file
swapoff /tmp/swap
想一下,如果是用这个文件的形式,要实现要每次系统启动时,它自动就跟着启动,应该怎么做?
这回可不是编辑fstab文件了,想一下吧
成功!!!!!!!!!!!
<span type="1" blog_id="786812" userid='
97篇文章,16W+人气,0粉丝
高并发架构之路
¥51.0066人订阅
新西兰资深网工运维之道
¥51.00389人订阅
前百度高级工程师的架构高可用实战
¥51.00228人订阅
<span type="1" blog_id="786812" userid='Linux设置Swap虚拟内存方法
linux可以文件或者分区来当作虚拟内存。
首先查看当前的内存和swap 空间大小(默认单位为k, -m 单位为M):
查看swap信息,包括文件和分区的详细信息
swapon -s或者cat /proc/swaps
如果都没有,我们就需要手动添加交换分区。注意,OPENVZ架构的VPS是不支持手动添加交换分区的。
添加交换空间有两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用, 则添加交换文件。
增加swap交换文件
1.使用dd命令创建一个swap交换文件
dd if=/dev/zero of=/home/swap bs=1024 count=1024000
这样就建立一个/home/swap的分区文件,大小为1G。
2.制作为swap格式文件:
mkswap /home/swap
3.再用swapon命令把这个文件分区挂载swap分区
swapon /home/swap
我们用free -m命令看一下,发现已经有交换分区了。
但是重启系统后,swap分区又变成0了。
4.为防止重启后swap分区变成0,要修改/etc/fstab文件
vi /etc/fstab
在文件末尾(最后一行)加上
/home/swap swap swap default 0 0
这样就算重启系统,swap分区还是有值。
5.删除swap交换文件
1、先停止swap分区
/sbin/swapoff /home/swap
2、删除swap分区文件
rm -rf /home/swap
3、删除自动挂载配置命令
vi /etc/fstab
/home/swap swap swap default 0 0
这样就能把手动增加的交换文件删除了。
- 增加删除swap的操作只能使用root用户来操作。
- 装系统时分配的swap分区貌似删除不了。
- swap分区一般为内存的2倍,但最大不超过2G
使用分区来做SWAP(虚拟内存).
1. 使用fdisk来创建交换分区(假设 /dev/sdb2 是创建的交换分区)
2. 使用 mkswap 命令来设置交换分区:
mkswap /dev/sdb2
3. 启用交换分区:
swapon /dev/sdb2
4. 写入/etc/fstab,以便在引导时启用:
/dev/sdb2 swap swap defaults 0 0
5. 删除交换分区
步骤如下:
1、先停止swap分区
/sbin/swapoff /dev/sdb2
2、删除自动挂载配置命令
vi /etc/fstab
/dev/sdb2 swap swap defaults 0 0
这样就能把手动增加的交换分区删除了。
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!订阅你的位置: >
> 如何在Linux VPS和云主机增加swap虚拟内存Swap是Linux下的交换分区,类似Windows的虚拟内存,当物理内存不足时,系统可把一些内存中不常用到的程序放入Swap,解决物理内存不足的情况。若系统安装时开辟的Swap空间太小,可通过手动创建Swap文件。,发现没有swap交换空间。添加swap交换空间的步骤如下:第一步:确保系统中有足够的空间来用做swap交换空间,我使用的是阿里云VPS,准备在一个独立的文件系统中添加一个swap交换文件,在/var/swap中添加2G的swap交换文件第二步:添加交换文件并设置其大小为2G,使用如下命令[ ~]# dd if=/dev/zero of=/var/swap bs=1M count=2048过段时间就返回如下结果:2048+0 records in
2048+0 records out
bytes (2.1 GB) copied, 45.6572 s, 47.0 MB/s第三步:创建(设置)交换空间,使用命令mkswap 。[ ~]# mkswap /var/swap结果Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=c919c5aa-645a-43e6-9006-dbdeba1c995f第四步:检查现有的交换空间大小,使用命令free[ ~]# free -m
total used free shared buffers cached
-/+ buffers/cache: 112 898
Swap: 0 0 0或者检查meminfo文件grep SwapTotal /proc/meminfo第五步:启动新增加的2G的交换空间,使用命令swapon[ ~]# swapon /var/swap第六步:确认新增加的2G交换空间已经生效,使用命令free[ ~]# free -m
-/+ buffers/cache:
或者检查meminfo文件grep SwapTotal /proc/meminfo
第七步:修改/etc/fstab文件,使得新加的2G交换空间在系统重新启动后自动生效 在文件最后加入:echo '/var/swap
0 0' && /etc/fstab注:ubuntu12.04不支持barrier,所以正确写法是:echo '/var/swap
0' && /etc/fstab然后使用 cat /etc/fstab 命令查看,到此系统的swap交换空间添加成功。############## 附swapoff说明 ##############[ ~]# swapoff --help
swapoff -a [-v]
disable all swaps(禁用所有swap)
swapoff [-v]
disable given swap
swapoff -h
display help
swapoff -V
display version转载请注明: & 与本文相关的文章Linux系统技术交流QQ群(560843)验证问题答案:刘遄
在磁盘刚分区的时候,我们会划分一个swap分区,这块分区作为一块虚拟内存,承担着扩充内存的作用。然而在工作中我们会遇到虚拟内存也不够用的情况,这个时候我们也不能重新给磁盘进行分区,只能通过增加一个swap文件,来扩充我们的虚拟内存。接下来,山医的小凡将手把手带你扩充你的虚拟内存。
1.检查现有交换空间的大小
如果你想检查你现有虚拟内存的大小,可以使用命令‘free -m ’
[root@chenfan ~]# free -m
-/+ buffers/cache:
根据现有交换空间的大小,选择合适的拓展大小。
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 的写出
字节(315 MB)已复制,13.9027 秒,22.6 MB/秒
[root@chenfancentos ~]# du
-h /tmp/swapfile
/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 /
UUID=-a63f-4b09-ada6f9a7 /boot
UUID=-662c-406c-a328-b4c2f370577b swap
gid=5,mode=620
/tmp/swapfile
就这样即使后续重启,也能做到自动挂载。
5.启用swapfile,查看虚拟内存大小
[root@chenfancentos ~]# swapon /tmp/swapfile
[root@chenfancentos ~]# free -m
-/+ buffers/cache:
可以兴奋的看到,相对于初始的虚拟内存,现在增加了300M。是不是有点激动,想要体验Linux之美,跟着山医的小凡一起动手实验。
本文原创地址:作者:陈凡,审核员:逄增宝
为您推荐一些与本文相关的文章:
Linux系统镜像及所需软件工具包下载地址:
进阶课程目录
第24章 使用Xen与Kvm部署虚拟化服务环境。(即将公布)
Linux技术交流QQ群
向每个正在奋斗的Linuxer致敬.
Linux技术交流群A:560843
Linux技术交流群B:340829
Linux技术交流群C:463590
Linux技术交流群D:915246
Linux技术交流群E:1663106
Linux技术交流群F:1653851
Linux技术交流群G:2632018
Linux技术交流群H:2636170
Linux技术交流群I:2650582
Linux技术交流群J:3026356
Linux技术交流群K:2659793
Linux技术交流群L:2659106
全国Linux技术交流群(总):
7月0 篇文章8月0 篇文章9月0 篇文章10月0 篇文章11月0 篇文章12月0 篇文章
1月0 篇文章12月0 篇文章标签:至少1个,最多5个
ubuntu(虚拟机)版本16.04 LTS
用free查看swap分区大小
创建一个swap文件夹
mkdir swap
sudo dd if=/dev/zero of=swapfile bs=1024 count=100000
其中count的大小对应swap的大小,如上述代码所示count=100000为大约100M注:设置count值时要注意,如果设置swap大小超过硬盘大小,会导致设置完重启后,虚拟机ubuntu的图形界面进不去
把生成的文件转换成swap文件
mkswap swapfile
激活swap文件
swapon swapfile
如果需要每次进入都自动启动,需修改/etc/fstab自动挂载:在文件中加入
/disk2/swap swap defaults 0 0
(因为我是在disk2中创建的swap文件,所以路径为/disk2/swap)不自动启动,则每次重启后,都进入swap文件夹,用swapon swapfile命令激活
再次查看swap分区大小,确定swap设置成功
使用完后,删除交换区
进入swap文件夹,关闭swap
swapoff swapfile
关闭自动挂载(如果没修改过/etc/fstab则跳过此步)
vi /etc/fstab在之前添加的语句前加#或则删除注:若没有修改/etc/fstab的权限,保存时会提示此文件为只读,不能修改。解决办法:采用下述语句保存
:w !sudo tee%
rm -r swapfile
我在配置的时候遇到的问题:
设置swap大小时,超过了虚拟机硬盘大小,导致重启后虚拟机ubuntu图形界面进不去了,采用以下方法解决:
ctrl+alt+F1进入文本模式查看磁盘空间,看是否是因为磁盘空间已满的问题导致无法进入图形界面
发现磁盘空间已满,需要删除一些文件可以采用rm -r语句删除一些文件,也可以用前面说的方法删除swap,重新配置
0 收藏&&|&&0
你可能感兴趣的文章
你可能感兴趣的文章
分享到微博?
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。

我要回帖

更多关于 查看虚拟内存使用情况 的文章

 

随机推荐