8g 内存 交换分区分配内存管理一般要分配多大

Linux 中交换空间 (swap)应该分多大才好?_Linux教程_Linux公社-Linux系统门户网站
你好,游客
Linux 中交换空间 (swap)应该分多大才好?
来源:Linux社区&
作者:freeloda
前一段时间,我们机房中一台Linux服务器运行缓慢,系统服务出现间歇性停止响应,让我过去处理一下这一问题,登录到服务器之后,发现此服务器的物理内存是16G,而最初装机的时候,系统管理人员却只分配了4G的虚拟内存。查看内存的使用状况,物理内存并没有完全耗尽,但虚拟内存已经耗尽,整个系统CPU负载和磁盘IO都非常高。
知道了问题所在是由于交换分区不足导致,那么解决方法就是:将虚拟内存通过虚拟文件的方式增加到16G,系统运行状况明显好转。其实虚拟内存并不是等到物理内存用尽了才使用的,是否尽量的使用或不使用swap,在内核空间有一个参数控制。
[root@web ~]# cat /proc/sys/vm/swappiness
swappiness=0 的时候表示最大限度使用物理内存,然后才是swap空间;swappiness=100 的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。对于现在动辄几十GB、上百GB物理内存的服务器来说,究竟为其Linux系统设置多大的交换分区合适呢?为此,我引用红帽官方里的一段文字进行简单说明一下,嘿嘿。
目前红帽官方推荐交换分区的大小应当与系统物理内存的大小保持线性比例关系,不过在小于2GB物理内存的系统中,交换分区大小应该设置为内存大小的两倍,如果内存大小多于2GB,交换分区大小应该是物理内存大小加上2GB。其原因在于,系统中的物理内存越大, 对于内存的负荷可能也越大。但是,如果物理内存大小扩展到数百GB,这样做就没什么意义了,大家说对吧!
实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷。 Enterprise Linux 可以在这样的情况下工作:完全没有交换分区,而且系统中匿名内存页和共享内存页小于3/4的物理内存量。在这种情况下,系统会将匿名内存页和共享内存页锁定在物理内存中,而使用剩余的物理内存来缓冲文件系统数据(pagecache),当内存耗尽时,系统内核只会回收利用这些pagecache内存。
考虑到以下情况:
1)安装系统时难以确定内存的负荷,如何设置交换分区大小
2)系统中物理内存越大,所需交换分区就会越少
因此,在Red Hat Enterprise Linux 中,以下是设置合适的交换分区大小的规则:
交换分区(SWAP)
1.但我们平时安装系统时,默认都分内存的2倍,因为现在有硬盘空间都很大,也不在乎那几十G的空间,嘿嘿!(其实也是为了省事)
2.其它操作系统也是类似。
相关资讯 & & &
& (02/09/:29)
& (08/31/:37)
& (12/09/:13)
& (08/31/:32)
& (07/17/:24)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款
匿名 发表于 https://wiki.archlinux.org/index.php/Partitioning#Swap
(0) 匿名 发表于 archlinux上说,如果你有超过2G的内存,swap可以为0还没有帐号? 赶紧
用户版块帖子
[CentOS] 8G内存条,SWAP分区要怎么划分啊?
C币-199009威望372贡献值1银元-2铜钱4549人人网人气币0
C.PU是4核的奕龙II x4 955&&&&&&&&&& 女人内存条4跟 2G DDR3. 1333健康 建立swap分区是划 16G还是 2G还是 8G还是划 4个2G或者 4个8GS.WAP分区既然不是必须的,那.么保留它的理由又是什么?.不做服务器,什么应用可能需要那么多磁.盘缓存?&&&&健康[ 本帖最后由 platinum 于 2.009-7.-30 14:22 编辑 ].
评价一下你浏览此帖子的感受
C币-604957威望382贡献值6银元-5铜钱4565人人网人气币0
Re:[CentOS]
8G的内存的话,4Gswap就行了
C币-193360威望362贡献值1银元-2铜钱4629人人网人气币0
Re:[CentOS]
QUOTE:原帖由 gamester88 于
10:46 发表 screen.width-461) window.open('http://www.csuboy.com/attachment/Mon_2_6cff255c8b048b0.gif');" >8G的内存的话,4Gswap就行了 为什么?
C币-235073威望395贡献值1银元-2铜钱4764人人网人气币0
Re:[CentOS]
QUOTE:原帖由 tntcheng 于
10:48 发表 screen.width-461) window.open('http://www.csuboy.com/attachment/Mon_6_6cff255c8b048b0.gif');" >为什么? 你做嘛要用那么内存呢
C币-60468威望366贡献值1银元-1铜钱4573人人网人气币0
Re:[CentOS]
8G内存,如何寻址啊。你是64位?
C币-235338威望378贡献值1银元-1铜钱4662人人网人气币0
Re:[CentOS]
CPU是64位的,系统也是64位的。别打岔,分区怎么弄合适啊?
C币-140620威望363贡献值1银元-1铜钱4544人人网人气币0
Re:[CentOS]
因为,有几个内存条我插几个内存,插满了就是8G啦。
C币-60655威望392贡献值1银元-3铜钱4723人人网人气币0
Re:[CentOS]
我参照红帽子80的安装手册,上面只提到了最多2G内存的处理。5555,年代久远啊。
C币-60860威望359贡献值1银元-2铜钱4504人人网人气币0
Re:[CentOS]
QUOTE:原帖由 tntcheng 于
11:04 发表 screen.width-461) window.open('http://www.csuboy.com/attachment/Mon_3_6cff255c8b048b0.gif');" >我参照红帽子80的安装手册,上面只提到了最多2G内存的处理。5555,年代久远啊。 那拜托再去好好读读吧!超出2G的部分x1,2Gx2,所以从官方角度推荐就是10G了。当然你根据自己的应用来定,除了一些DB这样的系统,恐怕SWAP利用率不高。
C币-139573威望326贡献值1银元0铜钱4299人人网人气币0
Re:[CentOS]
红帽子8.0安装指南 96页 E.1.8.多少个分区一个交换分区——交换分区是用来支持虚拟内存的。换句话说,当没有足够的内存来容纳你的系统正在处理的数据时,这些数据就被写入交换区。你必须创建一个交换分区才能正确的使用REDHAT Linux。你的交换分区的最小值应该相当于你的计算机内存的2倍和32M中较大的一个值。
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
&回复后跳转到最后一页
Time now is:01-18 15:49 &
版权所有 Gzip enabled
Total 0.023257(s) query 0, Time now is:01-20 05:25, Gzip enabled8被浏览1,121分享邀请回答03 条评论分享收藏感谢收起1添加评论分享收藏感谢收起Linux交换分区的创建和调整 | Linux运维部落
本文对swap进行简要介绍,以及系统安装后(在运行中)如何建立或调整swap分区。
文中演示环境为:
什么是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 》,看到红帽官方推荐的分配方案:
生产环境中不应开启休眠(hibernation),所以不需要考虑第三列,即:
&&&&&&&&&&&&内存小于 2GB时,推荐swap大小为内存2倍;
&&&&&&&&&&&&内存 2 ~ 8GB时,推荐swap大小等于内存大小;
&&&&&&&&&&&&内存 8 ~64GB时,推荐swap大小为内存的0.5;
&&&&&&&&&&&&内存大于64GB时,则视服务器的工作负载配置。
如果您的系统资源允许的话,增加交换空间可能会导致更好的性能。
如何查看swap space?
Linux中,系统提供了三种方法可以查看系统的swap的分区情况:
cat /proc/swaps
如何划分和增加swap space?
我们都知道在安装Linux系统时在分区时可以分配swap分区,而系统安装后(在运行中)如何建立或调整swap分区呢?
在装完Linux系统之后,建立Swap分区基本设置包括:
&&&&&&&&创建交换分区或者文件
&&&&&&&&使用mkswap写入特殊签名
&&&&&&&&在/etc/fstab文件中添加适当的条目
&&&&&&&&使用swapon -a 激活交换空间
swap分区的操作必须用root权限,操作过程应该小心谨慎。
为了避免不必要的问题,我们先停止所有的swap分区:
[root@IP70-CentOS7&~]#&&&swapoff&-a&&&&&&&&&#停止所有的swap分区
1. 创建交换分区或者文件
建立swap有两种方法:a.新建磁盘分区;b.用文件作为swap分区。
a.新建磁盘分区:
用fdisk命令(例:# fdisk /dev/sdb),新建大小2GB分区,在fdisk中用“t”命令调整分区类型为82(Linux swap类型),最后w保存fdisk操作。
b.用文件作为swap分区:
用dd命令创建分区文件,文件大小可以通过指定选项进行设置。(bs*count=文件大小)
[root@IP70-CentOS7&~]#&&&&dd&if=/dev/zero&of=/root/swap&bs=1M&count=2048
2. 使用mkswap写入特殊签名(格式化swap分区)
mkswap是专门用于设置Linux swap分区的命令,命令格式是mkswap [options] device [size]
3. 在/etc/fstab文件中添加适当的条目
4. 使用swapon -a 激活交换空间
多个swap分区是有优先级(Priority)的,数值大,则优先使用。我们可以通过swapon的-p选项调整swap的优先级,优化swap性能:分布存放,高性能磁盘存放。
需要注意的是:修改后,需要swapoff禁用,再swapon进行重新挂载。
虽然swap分区能够作为&虚拟&的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于swap,最好的办法仍然是加大物理内存。swap分区只是临时的解决办法.
您还未登录,请登录后再进行相关操作!
400-080-6560
在线咨询:
工作时间:周一至周五,9:30-18:30,节假日同时也值班AIX 6.1 页面交换分区应该多大呢目前业务环境是P6 595 两台,11颗CPU,内存66G,做HA,数据库是DB2 V9.5,想问下,页面交换分区设置多大呢?回答邀答19回答&
系统运维工程师
, 颀中科技(苏州)有限公司IBM建议,可按以下原则设置。当内存小于2GB时,交换空间的大小应是内存的两倍,当内存小于8GB而大于2GB时,交换空间的大小应与内存大小相同。内存大于8GB时,交换空间的大小应是内存的一半。尽可能分配在多的HD上你的具体要看你的业务量来决定,个人认为IBM的建议是比较可靠的,你根...IBM建议,可按以下原则设置。当内存小于2GB时,交换空间的大小应是内存的两倍,当内存小于8GB而大于2GB时,交换空间的大小应与内存大小相同。内存大于8GB时,交换空间的大小应是内存的一半。尽可能分配在多的HD上你的具体要看你的业务量来决定,个人认为IBM的建议是比较可靠的,你根据业务量差不多上下吧……赞同浏览443&
系统工程师
, redflag谢谢老师谢谢老师赞同浏览444&
是不是还要考虑数据库的需求啊?是不是还要考虑数据库的需求啊?赞同浏览447&
, 长春广大信息技术有限公司同意二楼的意见。。同意二楼的意见。。赞同浏览444&
系统工程师
, redflag今天去现场抓了个图,不知道是否正常呢?今天去现场抓了个图,不知道是否正常呢?赞同浏览462&
系统运维工程师
, 中国联通河南省分公司是不是内核没有调整,为啥物理内存还没有充分利用就用PG了是不是内核没有调整,为啥物理内存还没有充分利用就用PG了赞同浏览439&
系统工程师
, redflag 7# skyzqq
刚开始的时候,业务一上线,物理内存使用率为99%,后来拼命的扩物理内存。昨天据说是一个银行的工程师来看了,说建议加下PG,很是晕,感觉还是业务软件设计的问题。原来同样的软件,以市为单位就很好,一省级集中,就变成这个样子了。不懂,。...
刚开始的时候,业务一上线,物理内存使用率为99%,后来拼命的扩物理内存。昨天据说是一个银行的工程师来看了,说建议加下PG,很是晕,感觉还是业务软件设计的问题。原来同样的软件,以市为单位就很好,一省级集中,就变成这个样子了。不懂,。赞同浏览439&
内存是内存,pg还是要调整好,不然内存再大,也可能报内存不足的问题内存是内存,pg还是要调整好,不然内存再大,也可能报内存不足的问题赞同浏览453&
系统工程师
, 神州数码好有深度啊好有深度啊赞同浏览442&
系统工程师
, NL个人建议交换空间为40G就够了,如果担心不够用,可以跟内存大小一致辞。。个人建议交换空间为40G就够了,如果担心不够用,可以跟内存大小一致辞。。赞同浏览462回答问题
系统工程师, redflag评论237&
— talk with trend,talk with technologist
京ICP备号-30

我要回帖

更多关于 内存动态分区分配算法 的文章

 

随机推荐