一、free命令

free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。

(1)用法:

用法:free [选项参数]

(2)功能:

功能:free命令显示系统使用和空闲的内存情况,包括物理内存、交换区内存(swap)和内核缓冲区内存。共享内存将被忽略。

(3)选项参数:

1)-b      以Byte为单位显示内存使用情况

2)-k     以KB为单位显示内存使用情况

3)-m      以MB为单位显示内存使用情况

4)-g     以GB为单位显示内存使用情况

5)-s             每3秒执行一次free操作

(4)实例:

free       显示内存使用情况

[sunjimeng@localhost ~]$ free                                     //以kn为单位显示
              total        used        free      shared  buff/cache   available
Mem:        2013872      641564      864800       10132      507508     1164056
Swap:       2097148           0     2097148
[sunjimeng@localhost ~]$ free -m                                 //以MB为单位显示
              total        used        free      shared  buff/cache   available
Mem:           1966         626         844           9         495        1136
Swap:          2047           0        2047
[sunjimeng@localhost ~]$ free -g                    //以GB为单位进行显示
              total        used        free      shared  buff/cache   available
Mem:              1           0           0           0           0           1
Swap:             1           0           1

第一部分Mem行解释:

total:        内存总数;

used:        已经使用的内存数;

free:         空闲的内存数;

Buffers/cached:   磁盘缓存的大小;

关系:total=used+free+Buffers/cached

第二部分Swap指的是交换分区,也就是我们通常所说的虚拟内存

2)free -t        以总的形式显示内存的使用情况

[sunjimeng@localhost ~]$ free -t
              total        used        free      shared  buff/cache   available
Mem:        2013872      640344      865772       10132      507756     1165108
Swap:       2097148           0     2097148
Total:      4111020      640344     2962920

3)free -s 3      每三秒执行一次free操作

[sunjimeng@localhost ~]$ free -s 3
              total        used        free      shared  buff/cache   available
Mem:        2013872      642136      863972       10132      507764     1163300
Swap:       2097148           0     2097148

              total        used        free      shared  buff/cache   available
Mem:        2013872      642148      863960       10132      507764     1163288
Swap:       2097148           0     2097148
......

(5) 其他:

buffers和cached都是缓存,两者的区别:

为了提高磁盘存取效率,Linux做了一些精心的设计,除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换),还采用了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了I/O系统调用(比如read,write,getdents)的时间。

简单说来,page cache用来缓存文件数据,buffer cache用来缓存磁盘数据。在有文件系统的情况下,对文件操作,那么数据会缓存到page cache,如果之间采用dd等工具对磁盘进行读写,那么数据会缓存到buffer cache。

所以我们看Linux,只要不用swap的交换空间,就不用担心自己的内存太少,如果常常swap用很多,可能就要考虑加物理内存了,这也是Linux看内存是否够用的标准。

posted @ 2019-10-23 20:00  柒柒然  阅读(224)  评论(0编辑  收藏  举报