swap交换分区
虚拟内存(Vitrual memory):即用软件模拟出来的内存,是将硬盘空间模拟成内存来用,用来补充物理内存不足的问题。在Linux系统中的虚拟内存是用交换分区来实现的。vim
虚拟内存的参考值:物理内存的1.5~2倍
注:当物理内存大于或等于8G时,能够考虑关掉虚拟内存功能。markdown
win7虚拟内存设置:计算机--->属性--->高级--->性能--->设置--->高级--->更改--->根据提示设置
注:win7是在每一个盘(分区)中用pagefile.sys文件来实现虚拟内存功能。ide
建立交换分区的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 //挂载spa
#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资源
第二种方法:
制做交换文件input
if 指定输入设备(input file) /dev/zero 无限0资源
of 指定输出设备(output file)
bs 每一个块的大小(block size)
count 块的数量 几个块it
ls -lh /opt/a.swap 列出指定文件的属性(包括类型、权限等信息)
-rw-r--r--. 1 root root 100M 4月 1 10:03 /opt/a.swapio
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 -sFilename Type Size Used Priority/dev/sda3 partition 2333688 0 -1rm -rf /root/Desktop/a.swap 删除swap文件