`
yinwufeng
  • 浏览: 278597 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

linux 内存 free

 
阅读更多

如下显示free是显示的当前内存的使用,-m的意思是M字节来显示内容.我们来一起看看.

$ free -m
total used free shared buffers cached
Mem: 1002 769 232 0 62 421
-/+ buffers/cache: 286 715
Swap: 1153 0 1153

第一部分Mem行:
total 内存总数: 1002M
used 已经使用的内存数: 769M
free 空闲的内存数: 232M
shared 当前已经废弃不用,总是0
buffers Buffer 缓存内存数: 62M
cached Page 缓存内存数:421M

关系:total(1002M) = used(769M) + free(232M)

第二部分(-/+ buffers/cache):
(-buffers/cache) used内存数:286M (指的第一部分Mem行中的used - buffers - cached)
(+buffers/cache) free内存数: 715M (指的第一部分Mem行中的free + buffers + cached)

可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。

第三部分是指交换分区, 我想不讲大家都明白.

我想大家看了上面,还是很晕.第一部分(Mem)与第二部分(-/+ buffers/cache)的结果中有关used和free为什么这么奇怪.
其实我们可以从二个方面来解释.
对操作系统来讲是Mem的参数.buffers/cached 都是属于被使用,所以它认为free只有232.
对应用程序来讲是(-/+ buffers/cach).buffers/cached 是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。

所以,以应用来看看,以(-/+ buffers/cache)的free和used为主.所以我们看这个就好了.另外告诉大家一些常识.Linux为了提高磁盘和内存存取效率, Linux做了很多精心的设计,
除了对dentry进行缓存(用于VFS,加速文件路 径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache能有效缩短了 I/O系统调用(比如read,write,getdents)的时间。

记住内存是拿来用的,不是拿来看的.不象windows, 无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,
多无聊,在内存还有大部分 的时候,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常
swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦.

 

分享到:
评论

相关推荐

    检测Linux内存使用情况的free命令的10个例子

     Linux “free”命令可以给出类Linux/Unix操作系统中物理内存和交换内存的总使用量、可用量及内核使用的缓冲区情况。  这篇文章提供一些各种参数选项的“free”命令,这些命令对于你更好地利用你的内存会有...

    嵌入式Linux内存管理之free命令

    作为一名linux系统管理员,监控内存的使用状态是非常重要的,监控内存最常使用的命令有free、top等,下面是某个系统free的输出

    解析linux中的free

    解释linux中free之后显示的数据都是什么意思。

    Linux系统内存使用经验

    Linux的内存管理,实际上跟windows的内存管理有很相像的地方,都是用虚拟内存这个的概念,文中介绍了在Linux下查看内存用的command free命令,并对反回的参数进行解释。

    linux 内存清理

    linux 内存清理神器,经个人长期验证使用,没有问题,如果你面临linxu服务器内存时不时飙升,供尚用

    Linux内存管理中的Slab分配机制.pdf

    Linux 内存管理中的 Slab 分配机制 Linux 操作系统 的内存管理机制中,Slab 分配机制 plays a crucial role in optimizing memory allocation and deallocation. This mechanism is designed to minimize memory ...

    Linux内存分配与回收

    利用free函数实现动态内存的释放; 利用realloc函数实现调整内存空间的大小; 利用链表实现动态内存分配。 1、 了解静态内存与动态内存的区别; 2、 理解动态内存的分配和释放原理; 3、 掌握如何调整动态内存的大小...

    linux C 内存池实现

    C语言实现的内存池!j利用默认的内存管理函数new/delete或malloc/free在堆上分配和释放内存会有一些额外的开销。

    linux内存中buffer与cache的区别

    我们通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在linux中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用...

    Linux的free命令来显示系统中空闲和已使用的内存.docx

    Linux的free命令来显示系统中空闲和已使用的内存.docx

    free 详解 查看内存情况

    linux操作系统 free命令 详解 查看监控内存情况详解;

    Linux内存管理-Buddy算法探究.pdf

    Linux内存管理-Buddy算法探究 本文探究了Linux操作系统中的内存管理机制,特别是Buddy算法的应用。Buddy算法是一种高效的内存管理机制,可以减少内存碎片,增加内存的使用率。 Buddy算法基本思想 Buddy算法将内存...

    Linux内存调试器memwatch

    MEMWATCH 由 Johan Lindh 编写,是一个开放源代码 C 语言内存错误检测工具,它提供结果日志纪录,能检测双重释放(double-free)、错误释放(erroneous free)、没有释放的内存(unfreed memory)、溢出和下溢等等。

    Linux 下如何检查内存使用率

    free命令是检查一个 Linux 系统中内存使用率最常用的命令。它显示关于内存总量,已经使用的内存以及空闲内存的相关信息。 通常, free 运行时加上-h选项,意味着以人类可读的格式打印输出: free -h total used ...

    Linux 内存释放命令详解

    您可能感兴趣的文章:php查找指定目录下指定大小文件的方法linux下查看内存条数及每根内存大小的实现方法(推荐)linux查看文件系统块大小与内存页大小的简单方法查看Linux内存条数与清理内存的命令方法

    Linux free命令用法详解

    Linux free命令用于显示内存状态。 free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。 语法free [-bkmotV][-s ] 参数说明: -b 以Byte为单位显示内存...

    linux内存管理

    原创,共五章,基于工作中使用的3.10版本内核,包括 内存启动初始化过程,linux内核内存管理,进程虚拟地址管理

    疯狂内核之——Linux虚拟内存

    1.4 Linux内存布局 21 1.5 内核空间和用户空间 23 1.5.1 初始化临时内核页表 24 1.5.2 永久内核页表的初始化 32 1.5.3 第一次进入用户空间 41 1.5.4 内核映射机制实例 44 1.6 固定映射的线性地址 48 1.7 高端内存...

    linux 清理内存命令详细介绍

    linux 清理内存命令 1.清理前内存使用情况 free -m 2.开始清理  echo 1 > /proc/sys/vm/drop_caches 3.清理后内存使用情况 free -m 4.完成! 查看内存条数命令: # sync # echo 1 > /proc/sys/vm/drop_caches ...

    linux内存回收与分配.rar

    利用malloc和 calloc函数实现动态内存的分配;利用free函数实现动态内存的释放; 利用realloc函数实现调整内存空间的大小; 利用链表实现动态内存分配。

Global site tag (gtag.js) - Google Analytics