Ubuntu 修改交 swap 分区的大小

来源:互联网 发布:厦门雅迅网络很烂吗 编辑:程序博客网 时间:2024/04/29 17:46
下面我们开始创建需要的交换文件(交换空间)
先创建一个交换文件存放的目录。我在根目录下创建名叫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次







0 0
原创粉丝点击