首页 > 行业资讯 > 正文

在对系统,应用程序速度减慢或行为异常进行故障排除时,首先要检查的问题之一是系统内存使用率。

本教程介绍如何使用free,top,ps_mem命令来检查Linux中的RAM使用情况。

free命令是用于检查Linux系统内存使用的最常用命令。它显示总内存,已用内存和可用内存的信息。

free命令最经常使用的选项复制-h选项,free命令将以友好的阅读格式打印输出。

复制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 **内核缓冲区以及页面缓存和slab使用的组合内存。如果应用程序需要,可以随时回收此内存。

**available **在不使用交换空间的情况 启动应用程序可用内存的估计数。free命令显示物理内存和交换空间的信息。

top命令

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

要查看内存的使用率,只需要在终端运行复制top命令。输出包含系统的总内存,可用和已用物理内存和交换空间的信息。

复制%MEM列提供每个进程的使用物理内存使用率的信息。

复制top

/proc/meminfo

检查内存使用率的最简单方法是查看虚拟文件复制/proc/meminfo的内容。复制free,复制top,复制ps和其他系统信息命令都读取此文件。

你也可以通过运行复制less,复制cat命令查看复制/proc/meminfo文件的内容。该文件包含系统内存和交换空间使用量信息。

直接查看此文件可能对阅读不太友好,但你运行复制ps_mem命令可以解析复制/proc/meminfo文件中的信息。

复制cat /proc/meminfo 复制MemTotal: 4030592 kB MemFree: 401804 kB MemAvailable: 2507504 kB

ps_mem 脚本

ps_mem命令是一个Python脚本,用于报告每个程序的内存使用率。它可以与Python 2和3一起使用,并且可以通过pip安装。

运行复制ps_mem命令需要sudo权限,输出将按升序包括每个正在运行的程序的内存使用率。当您想找出哪个正在运行的程序占用了系统大部分内存时,此脚本很有用。

除了打印全部进程内存使用率之外,你还可以使用ps_mem的复制-p选项,后跟进程PID,查看指定进程内存使用率。

复制sudo pip3 install ps_mem sudo ps_mem sudo ps_mem -p pid_number 复制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 =================================

结论

我们向您展示了一些可用于查看内存使用量的命令。

猜你喜欢