ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 解析Linux中的内存使用

解析Linux中的内存使用

原创 Linux操作系统 作者:db_wjw 时间:2011-12-15 12:11:57 0 删除 编辑
在Linux系统中,内存主要可以分为三部分:内核使用的内存、程序使用的内存、缓冲区和缓存内存(主要为了提高读写速度)。

由于有缓冲区和缓存这部分内存的存在,所以Linux中的物理内存看上去在很短的时间内就被消耗完了,其实当新的程序调用内存或已有程序调用更多内存时,可以使用缓冲区和缓存这部分内存。

使用free –m查看系统内存使用情况:

[oracle@sms ~]$ free -m
                      total       used        free     shared    buffers    cached
Mem:         12043      11349        693          0          234         9850
-/+ buffers/cache:       1264      10779
Swap:        14223          0          14223

其中

Mem行:

total表示物理内存减去内核保留的内存

used表示total中已经使用的内存(包含程序使用的内存、buffers和cached)

free表示total中未使用的物理内存

buffers与某个块设备关联,包含了文件系统元数据,其中放得是对象的数据结构,并且跟踪了块的变化。

cached包含了文件本身,其中存放的是无结构的块数据。

 

-/+ buffers/cache行:

used表示程序运行占用的内存。

free表示系统可以使用的内存(包含了buffers和cached)。

 

Swap行:

total表示系统的总的虚拟内存

used表示系统已经使用的虚拟内存。

free表示系统未使用的空闲虚拟内存。

 

其中存在以下的等式关系:

Mem(total)= Men(used)+ Men(free)

Mem(used)= 内核使用内存 + 程序使用内存 + Mem(buffers)+ Mem(cached)

程序使用内存 =  Mem(total)- Mem(buffers)-  Mem(cached)

             =  -/+ buffers/cache(used)

程序还可以申请的内存 <=  Men(free)+ Mem(buffers)+ Mem(cached)

                     <=  -/+ buffers/cache(free)

 

由上可以看出,衡量内存是否够用可以查看-/+ buffers/cache(free)和虚拟内存的使用率。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26194851/viewspace-713366/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-08-21

  • 博文量
    96
  • 访问量
    506463