免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: jonelaw
打印 上一主题 下一主题

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

论坛徽章:
0
21 [报告]
发表于 2008-09-17 22:40 |只看该作者
原帖由 maitr 于 2008-9-17 16:25 发表
占着? 我巴不得他把内存都用了呢...
硬盘的传输速度是多少?内存是多少? 被cache的文件,下次调用的时候就不必去硬盘读取了。

空着内存不用才浪费呢

问题是经常出现一种情况用free查看内存才使用几百兆(总共4G的内存),但已经开始使用虚拟内存了.这是怎么回事啊?
按理说有缓存可以重复调用啊.

[ 本帖最后由 tom0732 于 2008-9-17 22:42 编辑 ]

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
22 [报告]
发表于 2008-09-18 09:14 |只看该作者
原帖由 tom0732 于 2008-9-17 22:40 发表

问题是经常出现一种情况用free查看内存才使用几百兆(总共4G的内存),但已经开始使用虚拟内存了.这是怎么回事啊?
按理说有缓存可以重复调用啊.

贴个例子看看

论坛徽章:
0
23 [报告]
发表于 2008-09-18 09:38 |只看该作者
原帖由 MMMIX 于 2008-9-18 09:14 发表

贴个例子看看


关注ing

论坛徽章:
0
24 [报告]
发表于 2008-09-18 09:54 |只看该作者
原帖由 jonelaw 于 2008-9-17 16:37 发表
echo 1 > /proc/sys/vm/drop_caches
运行之后 看效果没有清空了cache 而是降低了已使用的物理内存!这正是我想要的结果啊!!!!

谢谢兄弟


/proc/sys/vm/drop_caches
运行这条命令可以清内存吗?
怎么我运行的时候提示说:Permission denied!
我修改文件权限,使得 /proc/sys/vm/drop_caches变为可执行:chmod 755  /proc/sys/vm/drop_caches
再运行/proc/sys/vm/drop_caches 还是一样的提示

是我的哪个操作出现错误呢?
小弟是菜鸟,呵呵。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
25 [报告]
发表于 2008-09-18 10:03 |只看该作者
原帖由 zhou2324 于 2008-9-18 09:54 发表


/proc/sys/vm/drop_caches
运行这条命令可以清内存吗?

看帖的时候仔细点,需要运行的是

  1. echo 1 > /proc/sys/vm/drop_caches
复制代码

论坛徽章:
0
26 [报告]
发表于 2008-09-18 10:06 |只看该作者
推荐仔细研读linux内存管理机制 http://gentoo-wiki.com/FAQ_Linux_Memory_Management

论坛徽章:
0
27 [报告]
发表于 2008-09-18 11:14 |只看该作者
原帖由 tom0732 于 2008-9-17 22:40 发表

问题是经常出现一种情况用free查看内存才使用几百兆(总共4G的内存),但已经开始使用虚拟内存了.这是怎么回事啊?
按理说有缓存可以重复调用啊.


个人理解.. 没找到太多的理论依据:
当执行一些需要大量内存的软件,内存中暂时不用的数据就有可能被交换到swap。
有一种“SWAP惶恐处理”的机制,大概是说,
当内存使用激增,内存管理系统不知道这种激增会持续多久,也不知道会有多大需求,
当激增达到一个阙值的时候,内存管理系统会提前转移内存中部分数据(非cache)到swap,尽力避免物理内存不足。

而被用做cache的内存,内核是不必担心的,在需要这部份内存的时候,被cache的数据可以立刻丢弃
考虑上面两个原因,系统中仍有内存用做cache,却开始使用swap,是可能的。

关键的一点,cache虽然使用了物理内存,但cache中的数据随时可以被立刻drop掉,
在某种程度上说,被用作cache的内存和空闲状态差别不大。


关于swap的使用,不能单从free命令的swap使用数量来考察,还要结合vmstat中swap的读写情况来考虑。
vmstat命令显示的列表中,“si   so ”下的数值显示了swap的实时读写状况。

  1. # vmstat
  2. procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
  3. r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
  4. 1  0    224  50812 185752 1477916    0    0    42    99   61  136  9  8 82  1

复制代码

[ 本帖最后由 maitr 于 2008-9-18 23:31 编辑 ]

论坛徽章:
0
28 [报告]
发表于 2008-09-18 16:46 |只看该作者
Caches是保存经常访问的信息的子集。经常被核心使用的数据结构将被放入Cache中保存。Caches的缺点是比使用和维护单一链表和散列表更复杂。寻找某个数据结构时,如果在Cache中能够找到(这种情况称为cache 命中),这的确很不错。但是如果没有找到,则必须找出它,并且添加到Cache中去。如果Cache空间已经用完则Linux必须决定哪一个结构将从其中抛弃,但是有可能这个要抛弃的数据就是Linux下次要使用的数据。

这就说明Caches中的内容好象是会放到交换页面, 但Caches大总是比小了要好, 毕竟比较快, 如果Caches中的内容多了, 从磁盘中读数据的可能就要少很多, 是吧.

论坛徽章:
0
29 [报告]
发表于 2008-09-18 16:59 |只看该作者
原帖由 jonelaw 于 2008-9-17 17:05 发表
这是我查到的,很好的解释,供参考!

这也是让我们更深入的理解此FREE命令,及linux内核处理内存的机制了:

我的linux执行free命令显示如下:

[root@Linux /tmp]# free
             total       used     ...



晕。。你搜索出来的这个文章和我后来搜索的文章是一个地址出来的。。。。

之前没看你的这个问题,今天我才发了一个关于free的内存问题
和你情况算差不多吧
。。。

论坛徽章:
0
30 [报告]
发表于 2008-09-18 22:51 |只看该作者
to maitr:
当执行一些需要大量内存的软件,内存中暂时不用的数据就有可能被交换到swap。

关于这个解释我也有些疑问,交换到swap跟重新读取disk差别大么?为什么不是清掉cache,需要的时候重新load就行了.难道使用swap是必需的?这么说很多win user禁止swap不是明智的?

另:
在内存充足的情况下,就算系统使用了swap.也是小量使用,从vmstat swap "si so"可以很清楚看到这一点.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP