swap交换分区
虚拟内存(Vitrual memory):即用软件模拟出来的内存,是将硬盘空间模拟成内存来用,用来补充物理内存不足的问题。在Linux系统中的虚拟内存是用交换分区来实现的。
虚拟内存的参考值:物理内存的1.5~2倍
注:当物理内存大于或等于8G时,可以考虑关掉虚拟内存功能。
win7虚拟内存设置:计算机--->属性--->高级--->性能--->设置--->高级--->更改--->根据提示设置
注:win7是在每个盘(分区)中用pagefile.sys文件来实现虚拟内存功能。
创建交换分区的2种方式:
法1.用分区实现:先fdisk创建分区--〉然后mkswap格式化--〉再swapon激活--〉查swap状态--〉设置自动挂载
法2.用文件实现:先dd创建文件--〉然后mkswap格式化--〉再swapon激活--〉查swap状态--〉设置自动挂载
第一种方法:
准备新分区,用fdisk /dev/sdb创建一个分区
1.# mkswap /dev/sdb1 //格式化成swap分区
Setting up swapspace version 1, size = 976892 KiB
no label, UUID=1f7a658f-09f1-4cae-8a6e-bbd67c7df2f3
2.1 # free -h 显示当前内存使用状态
2.2 # swapon /dev/sdb1 //激活swap分区
注:如果要停用/dev/sdb1交换分区,用swapoff /dev/sdb1
3.# vim /etc/fstab //添加文件系统的自动挂载配置
UUID=1f7a658f-09f1-4cae-8a6e-bbd67c7df2f3 swap swap defaults 0 0
4.# mount -a //挂载
#free -h
total used free shared buffers cached
Mem: 1861 752 1109 0 112 241
-/+ buffers/cache: 398 1463
Swap: 3232 0 3232
top
top - 09:57:35 up 19:09, 2 users, load average: 0.00, 0.0
Tasks: 181 total, 1 running, 180 sleeping, 0 stopped,
Cpu(s): 1.0%us, 0.0%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%h
Mem: 1906556k total, 770408k used, 1136148k free, 11
Swap: 3310576k total, 0k used, 3310576k free, 24
第二种方法:
制作交换文件
- 用dd命令创建指定大小(100M)的文件
注:dd创建的文件总大小等于bscount。本例是1M100=100M。
#dd if=/dev/zero of=/opt/a.swap bs=1M count=100
记录了100+0 的读入
记录了100+0 的写出
104857600字节(105 MB)已复制,0.198869 秒,527 MB/秒
if 指定输入设备(input file) /dev/zero 无限0资源
of 指定输出设备(output file)
bs 每个块的大小(block size)
count 块的数量 几个块
ls -lh /opt/a.swap 列出指定文件的属性(包括类型、权限等信息)
-rw-r--r--. 1 root root 100M 4月 1 10:03 /opt/a.swap
2.# mkswap /opt/a.swap //格式化成swap文件系统
mkswap: /root/Desktop/a.swap: warning: don‘t erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version 1, size = 102396 KiB
no label, UUID=62d47da2-e50a-46d6-9bef-c32e1e1cbdaa
3.# free -h 显示内存使用状态
#swapon /opt/a.swap //激活swap分区
注:如果要停用a.swap交换文件,用swapoff /opt/a.swap
4.设置自动挂载swap文件系统的虚拟内存。
方法一:用rc.local运行控制脚本文件来实现。
chmod -v +x /etc/rc.d/rc.local 给rc.local脚本添加x可执行权限
echo ‘swapon /opt/a.swap ‘ >> /etc/rc.d/rc.local
方法二:用/etc/fstab(file system table文件系统表)自动挂载配置文件来实现。
#vim /etc/fstab //fstab自动挂载
/opt/a.swap swap swap defaults 0 0
5.# mount -a 手动挂载fstab配置文件中的所有设备
6.# free -h 显示内存状态信息
total used free shared buffers cached
Mem: 1861 855 1005 0 113 341
-/+ buffers/cache: 401 1460
Swap: 3332 0 3332
#swapon -s //显示当前的交换分区
Filename Type Size Used Priority
/dev/sda3 partition 2333688 0 -1
/dev/sdb3 partition 976888 0 -2
/root/Desktop/a.swap file 102392 0 -3
swap附加练习
1.用文件的方式创建1个1000M的交换分区?
#dd if=/dev/zero of=/tmp/a.swap bs=1M count=1000
#mkswap /tmp/a.swap
#swapon /tmp/a.swap
#vim /etc/fstab
/tmp/a.swap swap swap defaults 0 0
mount -a
卸载swap
#vim /etc/fstab 删除开机自动挂载信息
swapon -s
Filename Type Size Used Priority
/dev/sda3 partition2333688 0 -1
/dev/sdb3 partition976888 0 -2
/root/Desktop/a.swap file 102392 0 -3
/tmp/a.swap file 1023992 0 -4
#swapoff /root/Desktop/a.swap 设置swap文件无效
swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 2333688 0 -1
rm -rf /root/Desktop/a.swap 删除swap文件
原文地址:http://blog.51cto.com/13553337/2068787