free命令参数概括
  • free命令主要用于查看当前系统的物理内存使用情况,包含内存总量,已使用的内存和可使用的内存,如下:

    [xyz@linux ~]$ free -mh
                 total       used       free     shared    buffers     cached
    Mem:          5.7G       5.5G       194M       228K        21M       1.5G
    -/+ buffers/cache:       4.0G       1.7G 
    Swap:         4.0G        50M       4.0G 
    
Mem:系统内存使用情况的全局描述
  • total:系统的物理内存总量,total = used + free
  • used:已使用的物理内存,used = shared + buffers + cached + (-/+ buffers/cache那栏的used)
  • free:空闲的物理内存,即既没有被进程使用,也没有用作操作系统的buffers和cached。
  • shared:共享内存用量,如存放共享库。
  • buffers:用于缓冲操作系统的目录文件,inode的值,如使用ls命令查看大目录时,这个值会增加
  • cached:用于操作系统页缓存,主要用于缓存已打开的文件。操作系统为了避免频繁的磁盘读写操作,会尽可能使用空闲的内存来缓存已打开的文件,即从磁盘读取出来的文件。如果频繁进行文件读写操作,则这个值会增大。
-/+ buffers/cache:进程的内存使用情况
  • used:进程所使用的内存大小,由于Mem中的buffers和cached在内存不足时,即无法满足进程的内存使用需求时,可以被操作系统自动回收,所以实际的进程内存使用量为:Mem那栏的:used - buffers - cached,如上面的统计:5.5G - 1.5G - 21M 约等于 4G。
  • free:可供进程使用的内存大小,由于buffers和cached均可以被自动回收,故实际进程可用的内存量为:Mem那栏的:free + buffers + cached,如上面统计:194M + 21M + 1.5G 约等于 1.7G。
  • 所以在怀疑系统内存不足时,主要关注这里的used和free即可,如果该栏的free较大,则说明目前还有较多的可用内存,而不是关注Mem那栏的free。
Swap:交换分区的使用情况
  • used:已使用的交换分区量。如果这个值比较大,一般是某个时刻内存不够用了,将大量内存的数据换出到交换分区。如果之后内存变为可用,将内容重新加载回了内存,这个值也不会马上变小,即该内容并没有被交换分区马上删除。这样做主要是为了在之后如果需要将该内容重新换出,由于交换分区还有,故不需要重新进行将该内容写出的操作,提供系统性能。
  • free:可使用的交换分区量
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐