专栏首页Urlteamlinux下free查看内存命令详细解析

linux下free查看内存命令详细解析

最近经常因为服务器的内存不足导致网站崩溃,现在采用swap稍微好些,不过为了增强性能,还是来学习一下free内存查看命令的分析方式吧。

  • Mem:表示物理内存统计
  • -/+ buffers/cached:表示物理内存的缓存统计
  • Swap:表示硬盘上交换分区的使用情况,这里我们不去关心。
  • 系统的总物理内存:992M,但系统当前真正可用的内存b并不是第一行free 标记的 77M,它仅代表未被分配的内存。
  • 我们使用total1、used1、free1、used2、free2 等名称来代表上面统计数据的各值,1、2 分别代表第一行和第二行的数据。
  • total1:992M表示物理内存总量。
  • used1:915M表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用。
  • free1:77M未被分配的内存。
  • shared1:0M共享内存,一般系统不会用到,这里也不讨论。
  • buffers1:163M系统分配但未被使用的buffers 数量。
  • cached1:544M系统分配但未被使用的cache 数量。buffer 与cache 的区别见后面。
  • used2:207M实际使用的buffers 与cache 总量,也是实际使用的内存总量。
  • free2:785M未被使用的buffers 与cache 和未被分配的内存之和,这就是系统当前实际可用内存。
  • 可以整理出如下等式:
  • total1 = used1 + free1total1 = used2 + free2used1 = buffers1 + cached1 + used2free2 = buffers1 + cached1 + free1
  • buffer 与cache 的区别
  • A buffer is something that has yet to be “written” to disk. A cache is something that has been “read” from the disk and stored for later use.
  • 更详细的解释参考:Difference Between Buffer and Cache
  • 对于共享内存(Shared memory),主要用于在UNIX 环境下不同进程之间共享数据,是进程间通信的一种方法,一般的应用程序不会申请使用共享内存,笔者也没有去验证共享
  • 存对上面等式的影响。如果你有兴趣,请参考:What is Shared Memory?
  • [b]cache 和 buffer的区别:[/b]
  • [b]Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器。[/b]由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,Cache中
  • 存着CPU刚用过或循环使用的一部分数据,当CPU再次使用该部分数据时可从Cache中直接调用,这样就减少了CPU的等待时间,提高了系统的效率。Cache又分为一级Cache(L1 Cache)和二级Cache(L2 Cache),L1 Cache集成在CPU内部,L2 Cache早期一般是焊在主板上,现在也都集成在CPU内部,常见的容量有256KB或512KB L2 Cache。
  • [b]Buffer:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。[/b]通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。
  • Free中的buffer和cache:(它们都是占用内存):
  • buffer : 作为buffer cache的内存,是块设备的读写缓冲区
  • cache: 作为page cache的内存, 文件系统的cache
  • 如果 cache 的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO 必会非常小。

原创文章,转载请注明: 转载自URl-team

本文链接地址: linux下free查看内存命令详细解析

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 服务器安防配置–笔记一–搭建与配置高效率安全的ubuntu+nginx环境

    这段时间服务器被大量攻击,有sql注入,有暴力破密码,有利用image漏洞的,最严重的导致访问我网站会被重定向,忍无可忍,彻底重做整个站点.本次完成将apach...

    十四君
  • 目标检测领域笔记一:四种算法入门与优缺对比

    RCNN-> SPP net -> Fast RCNN -> Faster RCNN

    十四君
  • apache2的几个核心设置优化

    毕竟服务器的内存比较小,经常容易出现内存不足导致数据库退出等bug,so,除了设置swap缓冲区,最好的莫过于换成轻量级的服务器nginx,在那之前一些apac...

    十四君
  • gluster性能相关中继器默认值说明

    在./vols/tank/tank-fuse.vol(客户端)文件中,默认会配置如下中继器:

    党志强
  • SAP 费用报销操作

    用户5495712
  • [PHP] 读取大文件并显示

    使用PHP读取日志文件,当文件比较大的时候,会报内存不足,因此应该部分读取,读取指定的行数的数据

    陶士涵
  • 机器学习入门之范数与正则化

    范数把一个向量映射为一个非负值的函数,我们可以将一个向量x,经范数后表示点距离原点的距离,那么L^p范数定义如下:

    公众号guangcity
  • 添加php的memcached扩展模块

    memcached服务直接用yum安装 [root@localhost ~]# yum install memcached 然后启动memcache服务,启动多...

    洗尽了浮华
  • 超全干货 | 整理了一套常用的数据分析方法汇总!

    描述统计是通过图表或数学方法,对数据资料进行整理、分析,并对数据的分布状态、数字特征和随机变量之间关系进行估计和描述的方法。描述统计分为集中趋势分析、离中趋势分...

    1480
  • 2 :基本语法

    六月的雨

扫码关注云+社区

领取腾讯云代金券