免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: jonelaw

linux内存持续增加的问题! [复制链接]

论坛徽章:
0
发表于 2008-09-18 23:29 |显示全部楼层
27楼那个回复,继续往下看。。

因为cache的数据可以随时丢弃,所以被cached状态的内存和空闲一样,处于可用状态,有进程申请物理内存,drop掉部分cache信息,立刻就可以把相应的内存空间分配给进程。
而used状态的内存必然要将其中数据交换到swap后才可被重新使用。

那么,当一个应用短时间内消耗大量内存。触发了SWAP惶恐处理机制,怎样调度才是正确的?怎样调度能增加可用的物理内存?
drop掉本来就和空闲无异的cache,还是将暂时不用的数据转移到swap?

论坛徽章:
0
发表于 2008-09-18 23:37 |显示全部楼层
cache内容随时可以被丢弃,这导致cached状态的内存随时可以变成可用内存,只需要一个drop指令,
这是cache很关键的一种特性。

关于swap,除了作为内存不足时的额外补给,还有一个关键用途,一时想不起了,我去查下

论坛徽章:
0
发表于 2008-09-19 00:08 |显示全部楼层
原帖由 maitr 于 2008-9-18 23:37 发表
cache内容随时可以被丢弃,这导致cached状态的内存随时可以变成可用内存,只需要一个drop指令,
这是cache很关键的一种特性。

关于swap,除了作为内存不足时的额外补给,还有一个关键用途,一时想不起了,我 ...


指的是
  1. 产生 (Spawn) 进程时,Kernel 将检查虚拟内存,看看该进程是否可以直接加载到物理内存中。该 Kernel 还会进行检查,以确保该进程能够节省 swap 区域中的空间。如果两个测试均失败,该进程则不会产生,将被终止。生成的错误消息为 malloc 或 fork 失败。所有进程都必须能够节省 swap 区域中的空间。要保留足够的可用物理内存,以便进程运行,有一个被称为 vhand 的 daemon 会扫描 Kernel 中的所有进程表,查找尚未使用过的数据页。如果 vhand 发现了任何 "非活动" 页,vhand 就会将这些页移动到 swap 区域。如果可用内存下降至太低,另一个被称为 swapper 的 daemon 则会删除或 swap 出整个进程。Swapper 将继续将进程从物理内存推入 swap 区域,直到可用内存增加。当系统进行 swap 时,该 swapper 进程非常活跃。在 HP-UX 10.x 及以上版本中,不会 swap 出整个进程,而只是 swap 部分进程。Swap 的部分进程称为已分页。

  2. 如果系统上没有配置足够的 swap,系统性能则可能会受到很大的影响。有些影响是,系统可能无法访问系统上安装的所有物理内存。只有在 Swap 区域的可用空间多到可用于进程的情况下,Kernel 才允许产生进程。应用程序也依赖于 swap,如果没有配置足够的 swap,则生成与内存相关的错误消息,如 malloc 或 fork 失败。如果系统无须将进程从物理内存 swap 到 swap 区域,则将执行附加磁盘 I/O。该 Kernel 还将使用附加资源来监视内存并处理进程到 swap 设备的移动。这种附加开销将降低系统性能。如果这一问题非常严重,系统则可使用所有 CPU 或进程管理的其他资源。一旦系统达到此状态,则称为 Thrashing。

  3. 您至少应该将 Swap 和物理内存的比例配置为 1:1。这是一个基础比例,允许您访问整个物理 RAM,并处理大多数操作系统的 swap 需求。但是,您安装的应用程序可能需要配置更多 swap。您应该与供应商或提供商联系,获得更多有关 swap 的建议。一般系统上的物理内存数量不会是 swap 数量的四倍。

  4. 用于 swap 的磁盘区或者 logical volume 称为设备 swap。默认情况下,安装了操作系统的情况下 (/dev/vg00/lvol2),系统至少会配置一个区域的设备 swap。设备 swap 就是一个 logical volume 或者一个磁盘区,是为系统提供用于 swap 的。类似 bdf 的命令不会显示系统上的 swap,但是 swapinfo 命令会显示。设备 swap 可以配置在系统上的任意 volume group 上。涉及到性能问题时,最提倡使用 logical volume,当系统需要附加 swap 时应首先配置 logical volume。设备 swap 也包括两个术语,第一个是主 swap。此 swap 设备应为 /dev/vg00/lvol2,是在安装操作系统时创建的。主 swap 只能位于引导驱动器上。任何附加设备 swap 都称为次 swap。次 swap 设备可以配置在任何 volume group 上。

  5. 文件系统 swap 使系统管理员能够在所有磁盘空间均已分配给文件系统的情况下,向系统添加更多的 swap。使用文件系统 swap,您可以设置和配置文件系统中可用的空间。当您分配文件系统 swap 时,该系统会创建一个目录,称为 paging,并会在该 paging 目录中创建 swap 文件。当且仅当系统开始向该 swap 区域进行 swap 时,系统才会执行到这些文件的写入。系统性能将会因维护文件系统 swap 而受到影响。这是因为,操作系统已经从物理内存删除了页,然后将其以小块的形式写入文件。如果系统只需要文件系统 swap 用于保留空间,系统的性能就不会受到影响。文件系统 swap 应该仅用作 swap 问题的临时解决方案。一旦向系统中添加了附加驱动器,文件系统 swap 就应尽快删除。由于性能方面的原因,我们建议将文件系统 swap 区域的优先级设成高于设备 swap。

  6. Pseudo swap 是该规则的例外。Pseudo swap 可使系统管理员利用具有较大物理 ram 的系统,而无须配置较大的 swap 区域。Pseudo swap 不是设备 swap 的替代品,而是 swap 的增强。当系统引导时,会计算 pseudo swap 的数量。此计算是 75% 的物理内存,此值是不可调整内核参数。该 Kernel 会此增强看作是产生新进程时可以分配的附加 swap 区域。系统只会将 pseudo swap 用作保留空间,而不会将进程分页进出 pseudo swap。如果进程需要分页出物理内存,Kernel 则会 swap 到设备或文件系统 swap。Pseudo swap 默认情况下处于打开状态,将内核参数 swapmem_on 改为 off,即可关闭。
复制代码

论坛徽章:
0
发表于 2008-09-19 00:25 |显示全部楼层
在哪找到的。。 差不多就是这东西。。

:em11: 我刚才掉线了

论坛徽章:
0
发表于 2008-09-19 00:44 |显示全部楼层
原帖由 maitr 于 2008-9-19 00:25 发表
在哪找到的。。 差不多就是这东西。。

:em11: 我刚才掉线了

在HP-UX板块找到的
http://bbs.chinaunix.net/viewthread.php?tid=746261

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
发表于 2008-09-19 06:32 |显示全部楼层
Linux内存机制和Win不一样的

论坛徽章:
0
发表于 2008-09-19 08:53 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
发表于 2008-09-19 16:46 |显示全部楼层
够经典!

论坛徽章:
0
发表于 2008-09-19 17:24 |显示全部楼层
没有碰到过!!!!

论坛徽章:
0
发表于 2008-09-20 13:22 |显示全部楼层
这样才是真正发挥系统效能的时候啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP