本文介绍如何使用几个不同的命令来检查Linux操作系统中的RAM使用情况,可使用free、top命令和/proc/meminfo及ps_mem脚本。在对系统或应用程序速度下降或行为异常进行故障排除时,要检查的第一件事是系统内存使用情况,掌握以下方法有利于技术排查。
free命令 free是检查Linux系统内存使用情况的最常用命令,它显示有关总内存、已用内存和可用内存的信息。 通常,使用-h选项调用free,这意味着以人类可读的格式打印输出: free -h 返回如下图的信息:
每列的含义如下: total-应用程序可以使用的内存总量。 used-已使用的内存,计算公式为:used = total - free - buffers - cache。 free-空闲/未使用的内存。 shared-可以忽略此列,仅出于向后兼容的目的显示它。 buff/cache-内核缓冲区以及页面高速缓存和平板使用的组合内存,如果应用程序需要,可以随时回收此内存。 available-估计可用于启动新应用程序而无需交换的内存。 free命令输出有关物理内存和系统交换的信息。 参考:free命令_Linux free命令使用详解:显示内存的使用情况。
top命令 top是一个命令行实用程序,用于显示有关正在运行的进程的实时信息,它还显示了系统摘要,包括内存使用情况。 要调用该命令,只需键入top: free -h 输出将如下所示:
输出的信息包含有关系统可用和已用物理内存和交换内存的信息。 %MEM列提供有关每个正在运行的进程的可用物理内存已用份额的信息。 参考:top命令_Linux top命令使用详解:显示或管理执行中的程序。
/proc/meminfo 检查RAM内存使用率的最简单方法是显示/proc/meminfo虚拟文件的内容,free、top、ps和其他系统信息命令使用此文件。 使用less或cat查看/proc/meminfo文件的内容: cat /proc/meminfo 该文件包含有关系统内存和交换使用的大量信息:
/proc/meminfo文件中的信息可以被解析并在Shell脚本中使用。
ps_mem脚本 ps_mem是一个Python脚本,它报告每个程序的RAM内存使用情况,它可以与Python 2和3一起使用,并且可以通过pip安装: sudo pip3 install ps_mem 该脚本需要管理员权限,要启动它,请在终端中键入sudo ps_mem: sudo ps_mem 输出将按升序包括每个正在运行的程序的内存使用情况:
当您想找出哪个正在运行的程序占用了系统大部分内存时,此脚本很有用。
相关主题 |