QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1576|回复: 4

关于Linux内核的内存管理机制

[复制链接]
发表于 2003-5-26 20:47:53 | 显示全部楼层 |阅读模式
Linux的内核会尽量把空闲内存做为磁盘缓存,可是大家有没有发现,当用户打开一个应用程序的时候,总会一下子系统速度变慢,然后才恢复正常,我用系统监视工具查看内存时,可以看到磁盘缓存会变小,有一部分被放到交换区,这样就空出一些内存给当前应用程序用.但问题就在这时产生了,因为内核为了防止内存碎片的产生,对内存做了一次平移,这个操作要占用cpu的大量时间,所以当一个程序打开时会感觉很慢(这点对于用低主频的cpu尤为明显,我用的是celeron500),这就给用户的操作性带来一定的负面影响,感觉不连贯,这点和windows有很大的差别.可能也是这个特性使得linux的后台程序可以运行得很好吧,这或许是linux适合作服务器的原因吧.但这样做是否值得?请大家讨论一下.个人认为应该为桌面版linux做一个新的内存管理模块,固定一个磁盘缓存的大小,这样多出的内存在应用程序需要的时候就可及时被分配,不是能很好地改善对用户的响应速度吗?
以上观点纯属个人平时的一般观察所得出,也许有不对的地方请大家指出,因为我没有读过linux的内核,很多细节也不是很清楚,目前正在学习当中.
发表于 2003-5-26 21:55:44 | 显示全部楼层
你的内存够大就行啦。:)。对不对,用1G的内存现在也不是什么梦想了。
回复

使用道具 举报

发表于 2003-5-26 22:16:05 | 显示全部楼层
what u mean "对内存做了一次平移"?
这个特性 is not only good for background processes, but also for u application.
for the disk buffer cache, u can tune the parameters in u /proc/sys/vm/bdflush, find some doc to see hwo to tune it.
回复

使用道具 举报

发表于 2003-5-27 08:06:34 | 显示全部楼层
[quote:08aca99512="Dragonfly"]what u mean "对内存做了一次平移"?
这个特性 is not only good for background processes, but also for u application.
for the disk buffer cache, u can tune the parameters in u /proc/sys/vm/bdflush, find some doc to see hwo to tune it.[/quote]
谢谢了,终于发现,呵呵。
回复

使用道具 举报

发表于 2003-5-27 08:21:12 | 显示全部楼层
find what?  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 11:36 , Processed in 0.101045 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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