Linux使用CLI和GUI检查内存使用情况

时间:2020-01-09 10:41:18  来源:igfitidea点击:

如何使用命令行和GUI工具在Linux操作系统下检查已用和可用RAM内存使用情况?

Linux带有不同的命令集来检查内存使用情况。

free命令显示系统中空闲和已使用的物理内存和交换内存的总量,以及内核使用的缓冲区。

vmstat命令报告有关进程,内存,页面调度,块IO,陷阱和cpu活动的信息。
最后,您可以使用top或atop/htop命令,它们提供正在运行的系统的动态实时视图。

top可以显示系统摘要信息以及Linux内核当前正在管理的任务列表。
让我们看看Linux的各种命令来检查内存使用情况。

Linux使用/proc/meminfo文件检查内存使用情况

/proc/meminfo文件存储有关基于Linux的系统上的内存使用情况的统计信息。
空闲和其他实用程序使用同一文件来报告系统上的空闲和已用内存(物理内存和交换内存)以及内核使用的共享内存和缓冲区的数量。

例子

使用cat命令或grep命令查看/proc/meminfo文件:

$ cat /proc/meminfo
$ less /proc/meminfo
$ more /proc/meminfo
$ egrep --color 'Mem|Cache|Swap' /proc/meminfo
MemTotal:        8120568 kB
MemFree:         2298932 kB
Cached:          1907240 kB
SwapCached:            0 kB
SwapTotal:      15859708 kB
SwapFree:       15859708 kB

free命令

要显示可用内存大小(MB(兆字节)):

$ free -m
total       used       free     shared    buffers     cached
Mem:           750        625        125          0         35        335
-/+ buffers/cache:        254        496
Swap:          956          0        956

显示包含总内存(MB)的行:

$ free -t -m
total        used        free      shared  buff/cache   available
Mem:          31731        6905       13427         903       11398       23479
Swap:        122067           0      122067
Total:       153799        6905      135495

了解free命令输出

" Mem"列包含以下信息:

  • Total:我的系统中安装的RAM总量。在这种情况下为30Gi。
  • Used:已使用的RAM总量。计算公式为:总计(空闲+缓冲区+缓存)
  • Free:您的应用程序未使用或可用的内存量。
  • shared:tmpfs文件系统主要使用的内存量。换句话说,在/proc/meminfo中的Shmem。
  • Buff/cache:缓冲区和缓存的总和。 Buff是Linux内核用于缓冲区的内存量。高速缓存是页面高速缓存和平板使用的内存。
  • Available:这是在不交换的情况下,可用于在Linux系统上启动新应用程序的可用内存量的估计。

"Swap交换"列包含以下信息:

  • Total:我的系统中安装的交换分区或文件的总量。例如,119Gi是我在Linux上交换空间的大小。
  • Used:已用掉的交换总量。
  • Free:Linux系统的未使用或可用交换空间的数量。

服务器有多少剩余内存?

要查看Linux服务器剩余内存大小,执行以下命令:

$ free -m

可用命令选项列表

  • -h:人类可读的输出。换句话说,显示所有输出字段自动缩放到最短的三位数单位并显示打印单位。例如," B"表示字节," Ki"表示兆字节," Mi"表示兆字节," Gi"表示千兆字节," Ti"表示tebibyte,而" Pi"表示PB。
  • -b,-k,-m,-g:以字节,KB,MB或GB显示输出。
  • -l:显示详细的低内存和高内存统计信息。
  • -o:使用旧格式(无-/+ buffers/cache行)。
  • -t:查看Linux上的RAM +交换使用总计。
  • -s:每[延迟]秒更新一次。
  • -c:更新[count]次。

vmstat命令

在shell提示符下执行vmstat命令:

$ vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---
r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
1  0      0 131620  35432 341496    0    0    42    82  737  1364 15  3 81  1

top命令

在shell提示符下执行top命令:

$ top

要退出顶部命令,请输入" q"键。

atop命令

atop程序是一个交互式监视器,用于查看Linux系统上的负载。
该程序可以显示已使用和可用的内存量。
它类似于top命令,但带有其他高级选项。
默认情况下,大多数Linux发行版中未安装atop命令。

$ atop

htop命令

程序htop是一个交互式过程查看器。
它与top相似,但是允许垂直和水平滚动列表以查看所有进程及其完整的命令行。
默认情况下,大多数Linux发行版中未安装htop命令。

$ htop

GNOME桌面:用于查看内存使用情况的GUI工具

Gnome系统监视器应用程序使您能够显示基本系统信息并监视系统进程,系统资源的使用和文件系统。
您还可以使用系统监视器来修改系统的行为。
您可以通过访问系统菜单>选择管理>系统监视器选项来启动系统监视器。
或在shell提示符下执行以下命令:

$ gnome-system-monitor