Linux 内存

2019/08/28 Linux

内存是评判服务器的一个非常重要的指标。内存的多少,可能会直接影响着服务器的整体性能。


前言

内存是评判服务器的一个非常重要的指标。内存的多少,可能会直接影响着服务器的整体性能。阅读Linux性能监测:内存篇

实操

free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。

free命令习惯上有以下几种形式

free -k # 以KB为单位显示内存使用情况
free -m # 以MB为单位显示内存使用情况
free -g # 以GB为单位显示内存使用情况
free -h # 以人类友好的方式显示内存使用情况

输入free -m时,系统就会输出以下内容

[root@massive-dataset-new-002 ~]# free -g
             total       used       free     shared    buffers     cached
Mem:            61         19         41          0          0         10
-/+ buffers/cache:          8         52
Swap:            4          0          4

输出解释
total: 内存总数,物理内存总数
used: 已经使用的内存数
free: 空闲的内存数
shared: 多个进程共享的内存总额
buffers: 缓冲内存数
cached: 缓存内存数
- buffers/cached: 应用使用内存数
+ buffers/cached: 应用可用内存数
Swap: 交换分区,虚拟内存

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

buffers: 作为 buffer cache 的内存,用来缓存磁盘数据。

cached: 作为 page cache 的内存, 用来缓存文件数据。

如果 cache 的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO 必会非常小

在使用free命令时,都是需要重点关注 - buffers/cached和 + buffers/cached

- buffers/cached,即used - buffers/cached,表示应用程序实际使用的内存
+ buffers/cached,即free + buffers/cached,表示理论上都可以被使用的内存

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

Search

    Table of Contents