如何查看linux系统中空闲内存/物理内存使用/剩余内存
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看linux系统中空闲内存/物理内存使用/剩余内存相关的知识,希望对你有一定的参考价值。
参考技术A Linux将物理内存按固定大小的页面(一般为4K)划分内存,在内核初始化时,会建立一个全局structpage结构数组mem_map[
]。如系统中有76G物理内存,则物理内存页面数为76*1024*1024k/4K=
19922944个页面,mem_map[
]数组大小19922944,即为数组中每个元素和物理内存页面一一对应,整个数组就代表着系统中的全部物理页面。
在服务器中,存在NUMA架构(如Nehalem、Romly等),Linux将NUMA中内存访问速度一致(如按照内存通道划分)的部分称为一个节点(Node),用struct
pglist_data数据结构表示,通常使用时用它的typedef定义pg_data_t。系统中的每个结点都通过pgdat_list链表pg_data_t->node_next连接起来,该链接以NULL为结束标志。每个结点又进一步分为许多块,称为区域(zones)。区域表示内存中的一块范围。区域用struct
zone_struct数据结构表示,它的typedef定义为zone_t。更多详细的解答可以查看《Linux就该这么学》。
如何查看linux系统中空闲内存/物理内存使用/剩余内存
查看linux系统中空闲内存/物理内存使用/剩余内存
查看系统内存有很多方法,但主要的是用top命令和free 命令
当执行top命令看到结果,要怎么看呢?这里说明一下:
Mem: 666666k total, 55555k used,并不是代表你的应用程序已经使用了55555k的内存,这55555k是包含了:应用程序内存 + 缓冲 + 缓存的内存的。
用free命令查看更直接:
下面是一个例子(单位是MB):
[root@linuxzgf ~]# free -m
total used free shared buffers cached
Mem: 7982 6811 1171 0 350 5114
-/+ buffers/cache: 1346 6636
Swap: 16935 11 16924
在这里例子中,应用程序只使用了1346MB内存,还有6636MB空闲内存可以使用.
一些简单的计算方法:
物理已用内存 = 实际已用内存 - 缓冲 - 缓存 = 6811M - 350M - 5114M
物理空闲内存 = 总物理内存 - 实际已用内存 + 缓冲 + 缓存
应用程序可用空闲内存 = 总物理内存 - 实际已用内存
应用程序已用内存 = 实际已用内存 - 缓冲 - 缓存
top命令的结果详解
top命令 是Linux下常用的性能 分析工具 ,能够实时显示系统 中各个进程的资源占用状况,类似于Windows的任务管理 器。下面详
以上是关于如何查看linux系统中空闲内存/物理内存使用/剩余内存的主要内容,如果未能解决你的问题,请参考以下文章