Linux系统会把大部分可用内存划归自己使用。这是Linux管理内存的一种方式。他不是在需
要分配空间的时候再到物理内存中去划一块归某个进程使用,而是提前就把整个内存管理起
来,需要的时候再分配给某个进程。这样的好处是因为有了统一管理,不容易出现内存碎片
,提高了效率。这些linux管理的内存大多数是空闲状态,你可以看看当新的程序运行的时
候,Linux的内存占用不会提高,除非机器的内存已经耗尽。这时Linux会把一些不常用的进
程换出到交换分区。http://www.zwkw.com/n5594c104.aspxlinux里面显示的已经使用内存是程序所占的内存和用作磁盘缓存的内存。
而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
分享到:
相关推荐
用来查看linux内存使用情况的shell脚本.docx
Linux “free”命令可以给出类Linux/Unix操作系统中物理内存和交换内存的总使用量、可用量及内核使用的缓冲区情况。 这篇文章提供一些各种参数选项的“free”命令,这些命令对于你更好地利用你的内存会有...
linux内存和CPU占用情况,自已写的,开发linux的人非常有用,可查看内存情况
本文为大家提供的这个脚本,通过查看status文件中VmRSS的字段来查看系统或进程使用的内存情况,有需要的朋友不妨参考下
文中介绍了几个常用的linux下的命令及方法
查看linux系统内存使用情况,非常详细,全面
Python文件:python来查看Linux系统内存使用情况.py Python文件:python来查看Linux系统内存使用情况.py
linux c程序获取cpu使用率及内存使用情况
通过简单的java程序测试Linux服务器内存使用、回收情况,排查Linux服务器内存使用异常的情况
Linux查看CPU和内存使用情况查看jvm内存使用情况.pdfLinux查看CPU和内存使用情况查看jvm内存使用情况.pdf
Linux查看CPU和内存使用情况查看jvm内存使用情况.docxLinux查看CPU和内存使用情况查看jvm内存使用情况.docx
如何正确查看Linux机器内存使用情况.docx如何正确查看Linux机器内存使用情况.docx
Linux查看CPU和内存使用情况.pdfLinux查看CPU和内存使用情况.pdf
C/C++实现linux和Windows查看系统、进程、服务的内存和CPU使用情况的源代码,生成的是静态链接库,Windows和Linux下经测试都可用,查看系统、指定名称的服务、指定名称的进程占用CPU和内存,查看方式不是通过程序中...
不依赖于proc文件系统的情况下查询系统当前内存和flash使用情况
Linux查看CPU和内存使用情况.docxLinux查看CPU和内存使用情况.docx
课题_linux系统如何查看内存使用情况.pdf课题_linux系统如何查看内存使用情况.pdf
linux c程序获取cpu使用率及内存使用情况.pdflinux c程序获取cpu使用率及内存使用情况.pdf