微信号:grzlwx

介绍:光荣之路官方资讯

linux增加swap空间

2015-07-06 22:53 光荣之路



Swap分区,即交换区

Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用,那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。

通常情况下,Swap空间应大于或等于物理内存的大小,最小不应小于64M,通常Swap空间的大小应是物理内存的2-2.5倍,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要,通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用。


一、查看已有swap空间

[root@test ~]# free -m

totalusedfreeshared buffers cached

Mem: 3949 244 3704 0 18 157

-/+ buffers/cache:69 3880

Swap: 42750 4275


二、新增swap分区空间

1、使用dd创建swapfile,bs单位bytes,也可以手动指定单位为M或者G,count为计数,例子为增加1M*1024=1G空间

[root@test swap]#pwd

/swap

[root@test swap]# dd if=/dev/zero of=swapfile bs=1M count=1024

1024+0 records in

1024+0 records out

1073741824 bytes (1.1 GB) copied, 2.27273 seconds, 472 MB/s

[root@test swap]# ll

total 1049604

-rw-r--r-- 1 root root 1073741824 Sep 16 20:48 swapfile


2、mkswap创建交换文件

[root@test swap]# mkswap swapfile

Setting up swapspace version 1, size = 1073737 kB


3、swapon激活

[root@test swap]# swapon swapfile


4、查看增加后swap空间

[root@test swap]# free -m

totalusedfreeshared buffers cached

Mem: 3949 1293 2655 017 1181

-/+ buffers/cache:95 3854

Swap: 5299 0 5299


5、开机启动

vim /etc/fstab 添加

/swap/swapfile swap swapdefaults 0 0


6、去掉增加swap

# 查看

[root@test swap]# free -m

# 停用

[root@test swap]# swapoff swapfile

# 删除

[root@test swap]# rm swapfile -rf

# 确定

[root@test swap]# free -m

# 删除随即启动swap

[root@test swap]#vim /etc/fstab



扩展阅读(来自百度百科):

需要说明一点,并不是所有从物理内存中交换出来的数据都会被放到Swap中(如果这样的话,Swap就会不堪重负),有相当一部分数据被直接交换到文件系统。例如,有的程序会打开一些文件,对文件进行读写(其实每个程序都至少要打开一个文件,那就是运行程序本身),当需要将这些程序的内存空间交换出去时,就没有必要将文件部分的数据放到Swap空间中了,而可以直接将其放到文件里去。如果是读文件操作,那么内存数据被直接释放,不需要交换出来,因为下次需要时,可直接从文件系统恢复;如果是写文件,只需要将变化的数据保存到文件中,以便恢复。但是那些用malloc和new函数生成的对象的数据则不同,它们需要Swap空间,因为它们在文件系统中没有相应的“储备”文件,因此被称作“匿名”(Anonymous)内存数据。这类数据还包括堆栈中的一些状态和变量数据等。所以说,Swap空间是“匿名”数据的交换空间。

(作者:clear 来源:http://blog.sina.com.cn/s/blog_6aad8abe01019gqm.html)

一字一句当思来之不易,感谢作者,传播测试技能与正能量!

光荣之路软件测试培训

官网:http://www.gloryroad.cn/

微信公众号:gloryroadtrain

性能测试QQ群:415987441
软件测试招聘QQ群: 203715128
自动化3群QQ: 371211499



 
光荣之路 更多文章 今天晚上的 linux 公开课- Awk 编程 7月28日(今天)晚上的 linux 公开课- shell编程 8月4日(今天)晚上的 linux 公开课- shell编程 9月1日(本周一)晚8点半,光荣之路Web自动化系列基础课—javascript第二讲 推荐本好书《与机器赛跑》
猜您喜欢 iOS基础入门(四)- Objective-C语法总结 DevOps 之旅:运维人员阅读源代码的实用技巧(以OpenStack为例) 为什么说要搞定微服务架构,先搞定RPC框架? 深圳 OSC 源创会 —— React Native 在全民k歌的实践(3月19日) 用Golang写一个搜索引擎(0x06)