设为首页 收藏本站
查看: 710|回复: 0

[经验分享] Linux交换分区的创建和调整

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-8-31 09:00:01 | 显示全部楼层 |阅读模式
概述本文对swap进行简要介绍,以及系统安装后(在运行中)如何建立或调整swap分区。
文中演示环境为:
fiBlXW8.jpg


什么是swap space?交换分区,即swap space。它将某段磁盘空间独立划分出来,当物理内存不够的情况下,系统先把物理内存中暂时不用的数据,暂存到交换空间,腾出内存空间来,以保证程序的运行;当swap中存储的页面被访问到时,系统会将其重新载入到物理内存中去运行。在Windows、Unix、Linux系统中都有交换分区的概念。


怎么分配swap space?作为系统物理内存的补充,交换分区的操作即是磁盘I/O的操作,我们应当尽可能地利用更高I/O的硬盘划分交互分区。优先考虑的是固态硬盘,而对于机械硬盘来说,前面的磁盘要比后面的快,因此优先使用靠前的扇区划分swap。
另外,Swap分区的数量对性能也有很大的影响。如果有多个Swap交换区,Swap空间的分配会以轮流的方式操作于所有的Swap,这样会大大均衡IO的负载,加快Swap交换的速度。如果只有一个交换区,所有的交换操作会使交换区变得很忙,使系统大多数时间处于等待状态,效率很低。


分配多少swap space?分配太多的Swap空间会浪费磁盘空间,而Swap空间太少,则系统会发生错误。如果系统的物理内存用光了,系统就会跑得很慢,但仍能运行;如果Swap空间用光了,那么系统就会发生错误。例如,Web服务器能根据不同的请求数量衍生出多个服务进程(或线程),如果Swap空间用完,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。因此Swap空间的分配是很重要的。
通过翻查《 Red Hat Enterprise Linux 7 Installation Guide 》,看到红帽官方推荐的分配方案:
wKiom1fE39rSc2MeAADYutBJZSw690.jpg
生产环境中不应开启休眠(hibernation),所以不需要考虑第三列,即:
  •             内存小于 2GB时,推荐swap大小为内存2倍;
  •             内存 2 ~ 8GB时,推荐swap大小等于内存大小;
  •             内存 8 ~64GB时,推荐swap大小为内存的0.5;
  •             内存大于64GB时,则视服务器的工作负载配置。


如果您的系统资源允许的话,增加交换空间可能会导致更好的性能。


如何查看swap space?Linux中,系统提供了三种方法可以查看系统的swap的分区情况:




    • cat /proc/swaps
    • swapon -s
    • free

wKiom1fE5g7BhxC5AAA45FlRdz8062.jpg


如何划分和增加swap space?我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安装后(在运行中)如何建立或调整swap分区呢?
在装完Linux系统之后,建立Swap分区基本设置包括:
  •         创建交换分区或者文件
  •         使用mkswap写入特殊签名
  •         在/etc/fstab文件中添加适当的条目
  •         使用swapon -a 激活交换空间

swap分区的操作必须用root权限,操作过程应该小心谨慎。

为了避免不必要的问题,我们先停止所有的swap分区:
1
[iyunv@IP70-CentOS7 ~]# >>swapoff -a         #停止所有的swap分区



wKiom1fE9ALgBCcXAAAjf_qjXUQ455.jpg
1. 创建交换分区或者文件建立swap有两种方法:a.新建磁盘分区;b.用文件作为swap分区。
a.新建磁盘分区:用fdisk命令(例:# fdisk /dev/sdb),新建大小2GB分区,在fdisk中用“t”命令调整分区类型为82(Linux swap类型),最后w保存fdisk操作。
wKioL1fFDXqB0uvFAACFp1IYgGY455.jpg b.用文件作为swap分区:用dd命令创建分区文件,文件大小可以通过指定选项进行设置。(bs*count=文件大小)
1
[iyunv@IP70-CentOS7 ~]# >> dd if=/dev/zero of=/root/swap bs=1M count=2048



wKiom1fE-bLxRax0AAAfdK7dnT4775.jpg
2. 使用mkswap写入特殊签名(格式化swap分区)mkswap是专门用于设置Linux swap分区的命令,命令格式是mkswap [options] device [size]
wKiom1fE-qvgBf_RAAApWLPCIGI168.jpg
3. 在/etc/fstab文件中添加适当的条目 wKiom1fE_gnBtZCQAABfLeyEtJU131.jpg
4. 使用swapon -a 激活交换空间 wKioL1fFBSzwQweHAAA1eMyHKm8665.jpg

多个swap分区是有优先级(Priority)的,数值大,则优先使用。我们可以通过swapon的-p选项调整swap的优先级,优化swap性能:分布存放,高性能磁盘存放。
需要注意的是:修改后,需要swapoff禁用,再swapon进行重新挂载。


结束语虽然swap分区能够作为"虚拟"的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于swap,最好的办法仍然是加大物理内存。swap分区只是临时的解决办法.



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-265490-1-1.html 上篇帖子: linux中的crondtab定时计划任务 下篇帖子: centos7修改主机名 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表