作为Linux用户,特别是管理员,我们需要检查系统使用多少内存资源以及有多少内存资源是空闲的。我们还知道,通过Linux命令行而不是图形用户界面可以更好地实现大多数与管理相关的任务。例如,服务器主要在shell上工作,并且首先没有可用的UI。由于最重要的是要检查服务器上的内存资源,因此最好学习可以帮助我们进行服务器管理的相关命令。本文解释了使用以下5个命令来检查可用内存:
- free命令
- vmstat命令
- /proc/meminfo命令
- top命令
- htop命令
通过使用这些命令,您始终可以确保有足够的内存资源用于服务器上运行的非常重要的进程。例如,如果您正在运行Web服务器,则可以确保缺少资源不会降低网站访问速度,或者网站不会完全停止运行。
我们在CentOS 7.5系统上运行了本文中提到的命令和过程,Ubuntu Linux上也一样。
为了查看内存使用情况,我们使用的是Linux命令行,终端应用程序。您可以通过系统Dash打开终端。
方法1:free命令
由于free命令是最广泛使用的,毫无疑问是最有用的,我们首先会提到它的用法。此命令用于检查有关系统RAM使用情况的信息。以下是您将在终端中输入的命令:
[558idc@localhost 自由互联]$ free -m
total used free shared buff/cache available
Mem: 1821 1034 78 3 708 523
Swap: 2047 51 1996
available列 表示可用内存。 Swap条目中used的列是 51,这意味着它使用了51M,空闲部分是1996M。
方法2:vmstat命令
要通过vmstat命令查看内存统计信息,可以按以下方式使用它:
[558idc@localhost 自由互联]$ vmstat -s
1865252 K total memory
1063392 K used memory
584000 K active memory
703272 K inactive memory
97844 K free memory
0 K buffer memory
704016 K swap cache
2097148 K total swap
53696 K used swap
2043452 K free swap
15894 non-nice user cpu ticks
1683 nice user cpu ticks
16806 system cpu ticks
1674779 idle cpu ticks
1359 IO-wait cpu ticks
0 IRQ cpu ticks
1758 softirq cpu ticks
0 stolen cpu ticks
5076596 pages paged in
702716 pages paged out
2139 pages swapped in
14109 pages swapped out
2046484 interrupts
3070821 CPU context switches
1544162333 boot time
26018 forks
s标签提供有关内存使用的详细统计信息。
您可以在输出中查看可用内存和可用交换内存条目,指示系统中的可用内存。
方法3:/proc/meminfo命令
以下命令从/proc文件系统中提取与内存相关的信息。 这些文件包含有关系统和内核的动态信息,而不是真实的系统文件。
这是用于打印内存信息的命令:
[558idc@localhost 自由互联]$ cat /proc/meminfo
此命令的输出类似于vmstat命令。 您可以轻松查看MemFree结果中的空闲内存和SwapFree结果中的可用交换内存。
方法4:top命令
top命令用于打印系统的CPU和内存使用情况。 您可以按如下方式使用此命令:
$ top
在输出的标题中,您可以看到KiB Mem和Kib Swap条目,通过它们可以检查已用和可用的内存资源。
方法5:htop命令
就像top命令一样,htop命令也会详细分析您的CPU和内存使用情况。 如果您的系统上没有安装htop,Ubuntu下可以先通过以下命令更新abt存储库来安装它:
$ sudo apt-get update
然后输入以下命令
$ sudo apt install htop
CentOS下使用如下命令安装:
[558idc@localhost ~]$ sudo yum install htop
安装htop后,您只需使用以下命令打印所需信息:
[558idc@localhost ~]$ htop
标题中的Mem (Memory 也就是 RAM) 和 Swp (Swap)条目表示已用和总内存,通过它可以计算系统上可用的可用内存。
使用我们在本文中提到的命令,您可以监视系统进程内存情况。 您可以完全不使用GUI,并且仍然可以检查个人计算机和服务器上的内存使用情况。