对于安装了 Linux 系统的服务器,如果安装了宝塔之类的面板,就可以直接查看系统资源的使用情况。对于没有安装服务器管理面板的 Linux 服务器,应该如何检查内存使用情况呢?
本文介绍几个在 Linux 中检查内容使用情况的命令。
free命令
free 是 Linux 系统中查看内存使用情况的常用命令。它会显示总内存、已用内存和可用内存等信息。
如果free后面使用-h参数,就会以人类可读的格式输出内存使用情况:
free -h              total        used        free      shared  buff/cache   available
Mem:           3936        1087         252         130        2596        2427
Swap:             0           0           0
以下是每列的含义:
- total – 应用程序可以使用的内存总量。
 - used – 使用的内存。计算如下:
used = total - free - buffers - cache - free – 空闲/未使用的内存。
 - shared – 此列可以忽略;显示它只是为了向后兼容。
 - buff/cache – 内核缓冲区、页面缓存使用的内存。
 - available – 可用于启动新应用程序的内存,无需交换。
 
top命令
top是一个命令行实用程序,可显示正在运行的进程的实时信息。它还会显示系统摘要,包括内存使用情况。
要调用该命令,只需键入top:
top输出将如下所示:

输出内容的标题包括系统的总内存、空闲和已用物理和虚拟内存的信息。这里%MEM列会显示每个正在运行的进程的可用物理内存信息。
/proc/meminfo
检查 RAM 内存使用情况的最简单方法,是查看/proc/meminfo文件的内容。在使用free、top、ps等命令时会用到该文件。
可使用less 或cat命令查看/proc/meminfo文件内容:
cat /proc/meminfo该文件包含大量与系统内存和虚拟内存使用情况有关的信息:
MemTotal:        4030592 kB
MemFree:          401804 kB
MemAvailable:    2507504 kB
...
ps_mem脚本
ps_mem 是一个 Python 脚本,可用于报告每个程序的 RAM 内存使用情况。它适用于 Python 2 和 3,可以使用pip安装:
sudo pip3 install ps_mem运行ps_mem需要管理员权限:
sudo ps_mem输出内容将按升序显示每个正在运行的程序的内存使用情况:
 Private  +   Shared  =  RAM used	Program
...
 11.9 MiB +  20.2 MiB =  32.1 MiB	nginx (4)
  8.2 MiB +  42.4 MiB =  50.6 MiB	systemd-journald
 55.8 MiB + 307.2 MiB = 363.0 MiB	php-fpm7.4 (6)
233.9 MiB + 234.0 MiB = 467.9 MiB	redis-server
578.2 MiB + 578.6 MiB =   1.1 GiB	mysqld
---------------------------------
                          2.2 GiB
=================================
作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/linux/how-to-check-memory-usage-in-linux/