我们在排除服务器系统或应用程序速度减慢或行为不正常的问题时,首先要检查的是系统内存使用情况。

本文介绍了如何在Linux系统服务器中使用几个不同的命令来检查RAM的使用情况。

1、free命令

free是最常用的命令,用于检查Linux服务器系统的内存使用情况。它可以显示总内存、已使用内存和空闲内存的信息。

一般情况下,调用free命令时,会使用-h选项,也就是以人类可读的格式打印输出。

free -h

输出如下:

服务器查询java_home 服务器查询内存命令_服务器

其中:

total - 应用程序可以使用的内存总量。

used - 已使用的内存。计算公式为:used = total - free - buffers - cache

free - 空闲/未使用的内存。

shared - 可以忽略此列;仅出于向后兼容的目的显示它。

buff/cache - 内核缓冲区以及页面高速缓存和平板使用的组合内存。如果应用程序需要,可以随时回收此内存。

available - 估计可用于启动新应用程序而无需交换的内存。

该free命令为物理内存和系统交换打印信息。

2、top命令

top是一个命令行实用程序,用于显示有关正在运行的进程的实时信息。它还显示了系统摘要,包括内存使用情况。

要调用该命令,只需键入top:

free -h

输出将如下所示:

服务器查询java_home 服务器查询内存命令_物理内存_02

输出的标头包含有关系统的总内存,可用和已用物理内存和交换内存的信息。

该%MEM列提供有关每个正在运行的进程的可用物理内存的已用份额的信息。

3、/proc/meminfo

检查RAM内存使用情况的最简单方法是显示/proc/meminfo虚拟文件的内容。该文件是由所使用的free,top,ps,和其它系统信息的命令。

使用less或cat查看/proc/meminfo文件的内容:

cat /proc/meminfo

该文件包含有关系统内存和交换使用的大量信息:

服务器查询java_home 服务器查询内存命令_服务器_03

来自/proc/meminfo文件的信息可以被解析并在shell脚本中使用。

4、ps_mem 脚本

ps_mem是一个Python脚本,用于报告每个程序的RAM内存使用情况。它可以与Python 2和3一起使用,并且可以安装pip:

sudo pip3 install ps_mem

运行ps_mem需要管理员权限:

sudo ps_mem

输出将按升序包括每个正在运行的程序的内存使用情况:

服务器查询java_home 服务器查询内存命令_检测linux服务器的使用情况_04

当您想找出哪个正在运行的程序占用了系统大部分内存时,此脚本很有用。