`
isiqi
  • 浏览: 16065684 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

linux内存使用情况

阅读更多
Linux系统会把大部分可用内存划归自己使用。这是Linux管理内存的一种方式。他不是在需
要分配空间的时候再到物理内存中去划一块归某个进程使用,而是提前就把整个内存管理起
来,需要的时候再分配给某个进程。这样的好处是因为有了统一管理,不容易出现内存碎片
,提高了效率。这些linux管理的内存大多数是空闲状态,你可以看看当新的程序运行的时
候,Linux的内存占用不会提高,除非机器的内存已经耗尽。这时Linux会把一些不常用的进
程换出到交换分区。
http://www.zwkw.com/n5594c104.aspx
linux里面显示的已经使用内存是程序所占的内存和用作磁盘缓存的内存。
而free的内存是真正的一点有没有派上用场的内存。
所以看程序真正占用的内存应该要减掉cacheinux
的内存分配原则就是要占用尽量多的内存来提供尽可能快的速度,要不内存不用放在那里干嘛……

正常情况下,物理内存应该是接近完全占用才好,而交换内存占用才是越少越好
参考:

understanding the linux virtual memory manager

Linux 内存占用、使用情况请教
2006-02-10 14:21:46
<!--DVNEWS_AD_BEGIN--><!--DVNEWS_AD_END-->发贴人: HIZHX
请教:
SuseLinux使用top命令,查看内存占用率非常高,据了解,是因为Linux内存的分配策略导致的:只进不出,如果无内存分配,再将程序换出释放部分内存
1top命令和ps命令两个查看内存方法有本质区别吗?显示出来的结果有什么区别?
2用什么命令可以查看到系统内存真实占用率?
2006-02-11 05:55:08
回复人: tywz
free命令也可以看内存的。
还有貌似LInux内存的使用就是很大的,256m的内存条,一般用到240m左右,之后才开始用swap,大概和Linux内存调度策略有关吧
2006-02-11 12:33:17
回复人: cwwhy
Linux使用内存多是因为用来做io缓存用的,用free可以看到真实使用的内存
2006-02-11 19:20:55
回复人: HIZHX
我这台服务器操作系统是SUSELinux内存4G,服务器运行程序不多,但是内存占用率一直高达97%,这个可能与Suse的内存分配策略有关。
不知道有没有人比较清楚Suse的内存分配策略,以及怎么判断Suse内存占用正常。望赐教,谢谢!
2006-02-11 19:32:24
回复人: HIZHX
其实,只要SWAP没有使用,或者说扇入扇出并不频繁的话,应该说内存是够用了。
2006-02-12 00:43:44
回复人: flyingdog
其实是内存的统计方法不同。linux里面显示的已经使用内存是程序所占的内存和用作磁盘缓存的内存
而free的内存是真正的一点有没有派上用场的内存
所以看程序真正占用内存应该要减掉cache
2006-02-12 04:48:59
回复人: VanillaSky
Linux系统会把大部分可用内存划归自己使用。这是Linux管理内存的一种方式。他不是在需要分配空间的时候再到物理内存中去划一块归某个进程使用,而是提前就把整个内存管理起来,需要的时候再分配给某个进程。这样的好处是因为有了统一管理,不容易出现内存碎片,提高了效率。这些linux管理的内存大多数是空闲状态,你可以看看当新的程序运行的时候,Linux内存占用不会提高,除非机器的内存已经耗尽。这时Linux会把一些不常用的进程换出到交换分区。
2006-02-12 11:47:20
回复人: HIZHX
“香草的天空”说的好像很有道理,能介绍点资料给我看看不?
谢谢!
2006-02-12 15:48:08
回复人: byzs
情景分析和1.0源码分析
2006-02-13 10:53:20
回复人: fierygnu
UnderstandingtheLinuxVirtualMemoryManager
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics