Linux性能指标--内存

目录

查看系统内存使用情况

使用free命令,可以查看当前系统内存状况:

# 注意不同版本的free输出可能会有所不同
$ free
              total        used        free      shared  buff/cache   available
Mem:        8169348      263524     6875352         668     1030472     7611064
Swap:             0           0           0

free输出的是一个表格,默认以字节为单位。表格一共两行(物理内存,交换分区)六列(total,used,free,shared,buff/cache,available):

  • total:总内存大小
  • used:已使用内存的大小,包含了共享内存
  • free:未使用内存的大小
  • shared:共享内存的大小
  • buff/cache:缓存和缓冲区的大小
  • available:新进程可用内存的大小

available不仅包含未使用的内存,还包括了可回收的缓存,所以会比未使用内存大一些。

查看进程的内存使用

使用top或者ps等工具可以查看每个进程的内存使用。、

# 按下M切换到内存排序
$ top
...
KiB Mem :  8169348 total,  6871440 free,   267096 used,  1030812 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  7607492 avail Mem


  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
  430 root      19  -1  122360  35588  23748 S   0.0  0.4   0:32.17 systemd-journal
 1075 root      20   0  771860  22744  11368 S   0.0  0.3   0:38.89 snapd
 1048 root      20   0  170904  17292   9488 S   0.0  0.2   0:00.24 networkd-dispat
    1 root      20   0   78020   9156   6644 S   0.0  0.1   0:22.92 systemd
12376 azure     20   0   76632   7456   6420 S   0.0  0.1   0:00.01 systemd
12374 root      20   0  107984   7312   6304 S   0.0  0.1   0:00.00 sshd
...
  • VIRT:进程虚拟内存的大小。只是要进程申请过的内存,即使没有真正分配物理内存,也会计算在内
  • RES:常驻内存的大小。进程实际使用的物理内存大小,不包括Swap和共享内存
  • SHR:共享内存的大小。与其它进程共同使用的共享内存、加载的动态链接库以及程序的代码段等
  • %MEM:进程使用物理内存占系统总内存的百分比。