linux虚拟内存4g有多少个页,新手学堂:Linux操作系统对虚拟内存的限制

一、关于2G虚拟内存限制的说明

1. 早期的linux对虚拟内存的限制

linux2.2以前的内核,支持最大128M的Linux swap分区或文件。Linux swap的分区或文件总数不超过16个。

所以在linux2.2以前,可用的最大虚拟内存为128M*8=1G。

2. Linux2.2.x对虚拟内存的限制

Linux2.2.x支持最大2G的Linux swap分区或文件。Linux swap的分区或文件总数不超过8个。

所以在Linux2.2.x,可用的最大虚拟内存为 2G*8=16G

3. Linux2.4.x对虚拟内存的限制

Linux2.4.10之前支持最大2G的Linux swap分区或文件。Linux swap的分区或文件总数不超过8个。

所以在 Linux2.4.10之前,可用的最大虚拟内存为 2G*8=16G

Linux2.4.10(含)之后支持最大2G的Linux swap分区或文件。Linux swap的分区或文件总数不超过32个。

所以在 Linux2.4.10之后,可用的最大虚拟内存为 2G*32=64G

Linux2.4.x在内存管理策略上,就如Windows98向Windows2000转变一样,在内存和交换区中保存了更多的脏页,而不是及时回收内存,以此提高系统的效率。(见Widnows核心编程第18章的论述)。

此外,如果你有超过1块磁盘,并且分别在不同的磁盘上建立了swap,那么linux会按照raid 0的方式来使用这些交换分区。

二、多少虚拟内存较好?

1. Linux 2.2.x(含)及以前

传统的2倍虚拟内存的观点是有效的。建议按照此方法进行分配。

2. Linux 2.4.x(含)及以后

在考虑合适的硬盘费用的情况下,对虚拟内存的需求是多多益善。

Linus明确的指出,即使是512M内存,也可以分配高达40G的交换区,以提高系统的性能。Zlatko 在向Linus提出性能的质疑后,自己进行了验证。Zlatko通过实验表明:大交换区策略没有增加磁盘I/O的费用。

三、实例

一台IBM x365服务器,配置4G内存。

1. 交换区最小不低于4G

建立两个各为2G的交换区,做为基础的4G交换分区

2. 建立8个2G的交换文件,做为扩展的交换分区

这样总的交换分区大概在20G左右,如果硬盘更大,可以增加最多。

题外话:关于Windows中的虚拟内存使用

自Windows2000开始,微软也改变了内存使用策略。他们会尽可能较迟的回收内存。因此,我个人相信大的交换区,对于Windows2000以上的系统也是更有效率的。

附:Linus的谈话录

在下面的讨论中,清楚的说明了Linux2.4版本比它以前的版本需要更多的交换区。Rik val Riel提醒说:“2.4(内核) 在交换区缓存中,保持了更多的脏页,所以对于相同的程序,你需要更多的内存来运行它...”。他问Linus Torvalds,“这是一些东西,我们需要保持,或者我们将告诉用户,将要运行在某一种模式,当交换区被释放,当我们在一些非共享区进行交换时?”Linus回答:“我乐于看见用文档说明这点,并且将它保持下去。我痛恨两种不公平的行为方式。它总是建议“两倍于内存(的交换区大小)”,尽管在历史上被告知,“Linux 实际上不需要那样多”,我们在linux2.4.x中,把这种观点真正的抛弃了。

如果你有512M内存,你可以要求40G的交换区,他们在今天已经变得非常便宜。

Zlatko Calusic 担心,更大的交换区会降低性能,因为磁盘需要更多的时间进行搜索,以找到数据。他问Linus,是否确认这种现象不会发生,Linus回答:“我不 _确认_,众所周知,无论如何,我只确认一件事情,即页面缓冲的粘着性,能够使许多事情变得简化,并且使此前不可能的一些事情变得可能。”但是在最近,他补充道:“粘着建起可能会使我们的IO更为分散”。

Zlatko进行了一些测试,并没有发现2.4.0版本的内存管理策略有什么问题。他说道:“我发现新内核在某些环境下,会申请4倍的交换空间。这或许是,也或许不是问题,它仍然保持可见。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值