linux内存显示与实际不符,free命令显示的内存与实际不符

在网上有一个朋友提出free命令显示的内存与实际不符,查看确实如此:

tonykorn97:/nsr/logs # free

total used free shared buffers cached

Mem: 6227240 6190480 36760 0 26232 5313076

-/+ buffers/cache: 851172 5376068

Swap: 1052248 37632 1014616

tonykorn97:/nsr/logs #

6GB的内存显示为:6227240

理论上应该是这样的:6*1024*1024=6291456

经过大家的指点,发现答案应该有一下两个方面:

一:这是因为操作系统没有计算给PCI资源的内存作为用户可用内存。PCI资源可能包括板载网卡设备,板载声卡设备,PCI/AGP显卡等。一般携带多个设备的机器将为这些设备的运作保留一部分内存。

注意物理内存和可用内存的区别,并且对于不同的机器即是配置了相同的物理内存也可能出现可用内存容量不一样的情况。

来自:

二:用free命令显示的Total列不显示核心使用的物理内存(通常大约1MB)。只是显示的系统可以使用的内存。硬件驱动,内核等应该都包括在核心使用的内存中。

来自:

引用部分:

1.在命令行使用“Free”命令监控内存使用情况 #free

total used free shared buffers cached

Mem: 256024 192284 63740 0 10676 101004

-/+ buffers/cache: 80604 75420

Swap: 522072 0 522072

上面代码给出了一个256MB的RAM和512MB交换空间的系统情况。第三行输出 (Mem:)显示物理内存。Total列不显示核心使用的物理内存(通常大约1MB)。Used列显示被使用的内存总额(第二行不计缓冲)。Free列显示全部没有使用的内存。Shared列显示多个进程共享的内存总额。Buffers列显示磁盘缓存的当前大小。第五行(Swap:)对换空间,显示的信息类似上面。如果这行为全0,那么就没有使用对换空间。在缺省的状态下,free命令以千字节(也就是1024字节为单位)来显示内存使用情况。使用-h参数,以字节为单位显内存使用情况;或者使用-m参数,以兆字节为单位显示内存使用情况。还可以通过-s参数,使用命令来不间断地监视内存使用情况:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值