先创建一个交换文件存放的目录。我在根目录下创建名叫swap的目录
1.# mkdir /swap
2. 然后进入目录
# cd /swap
3. 创建自己希望的交换分区文件的大小
# sudo dd if=/dev/zero of=swapfile bs=1M count=2k
(创建2G的swap, 这步比较慢 创建分区的大小就= bs * count)
成功后会有提示,这时候查看swap文件夹下会多一个交换文件(swapfile),文件名字你可以自己定义在上面创建命令里。
4. 然后输入命令 mkswap swapfile
5. 挂载交换分区:swapon swapfile
如果想卸载的话输入:swapoff swapfile 卸载后可以删除这个文件,然后重新根据你新的需要创建和调整交换文件大小
6. 最后可以查看空间大小:free -m
swap项后面的大小就是你设定交换文件的大小如果不为0就说明挂载成功了。
root@babe-FMVNA8HEC:/swap# free -m
total used free shared buffers cached
Mem: 2964 2869 94 288 6 1786
-/+ buffers/cache: 1076 1887
Swap: 2047 0 2047
7. 自动挂在交换文件(交换分区)
sudo gedit /etc/fstab 在最后添加
/swap/swapfile swap swap defaults 0 0
简述swap
当可用内存少于额定值的时候,就会开始进行交换.
如何看额定值(RHEL4.0):
#cat /proc/meminfo
交换将通过三个途径来减少系统中使用的物理页面的个数:
1.减少缓冲与页面cache的大小,
2.将系统V类型的内存页面交换出去,
3.换出或者丢弃页面。(Application 占用的内存页,也就是物理内存不足)。
事实上,少量地使用swap是不是影响到系统性能的。
使用free命令
将used的值减去 buffer和cache的值就是你当前真实内存使用 ————– 对操作系统来讲是Mem的参数.buffers/cached 都是属于被使用,所以它认为free只有16936.
对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高 程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。 所以,以应用来看看,以(-/+ buffers/cache)的free和used为主.所以我们看这个就好了.另外告诉大家 一些常识.Linux为了提高磁盘和内存存取效率, Linux做了很多精心的设计, 除了对dentry进行缓存(用于 VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。 前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache能有效缩短了 I/O系统调用(比如read,write,getdents)的时间。 记住内存是拿来用的,不是拿来看的.不象windows,无论你的真实物理内存有多少,他都要拿硬盘交换 文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分 的时候,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换 空间,就不用担心自己的内存太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看 内存是否够用的标准哦.
语 法: free [-bkmotV][-s <间隔秒数>]
补充说明:free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
参 数:
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-o 不显示缓冲区调节列。
-s<间隔秒数> 持续观察内存使用状况。
-t 显示内存总和列。
-V 显示版本信息。
常用操作:
free //以KB为单位,显式系统内存使用情况 free -ml -s 1 //每秒以M为单位,显式系统内存详细使用情况。 free -c 4 -s 2 //为KB为单位,每2秒显式系统内存使用情况,一共显示4次