如何确定Linux中的内存使用量

解决系统或应用程序缓慢或异常行为问题时,首先要确定的问题之一是系统内存使用。

本文档介绍如何使用各种命令来确定Linux上的RAM使用情况。

Free命令

Free是检查Linux系统内存使用量的最常用命令。显示有关内存总量、已用内存和可用内存的信息。

Free通常用-h选项调用。这意味着输出将以熟悉的格式打印。

Free -h

total used free shared buff/cache available

M: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:

Free -h

输出如下:

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

%MEM列提供有关每个执行进程的可用物理内存使用份额的信息。

/proc/meminfo

检查RAM内存利用率的最简单方法是显示/proc/meminfo虚拟文件的内容。Free、top、PS和其他系统信息命令使用此文件。

要使用Less或cat查看/proc/meminfo文件的内容,请执行以下操作:

猫/proc/meminfo

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

MemTotal: 4030592 kB

Mefram:401804 KB

MemAvailable: 2507504 kB

.

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

Ps_mem脚本

Ps_mem是python脚本,用于报告每个程序的RAM内存使用情况。可以与Python 2和3一起使用,也可以使用pip进行安装

Sudo pip3 install ps_mem

运行Ps_mem需要管理员权限。

Sudo ps_mem

输出包括正在运行的每个程序的内存使用量(升序)。

Private Shared=RAM usedProgram

.

11.9 MiB 20.2 MiB=32.1 MiBnginx (4)

8.2 MIB 42.4 MIB=50.6 MIB systemd-journald

55 . 8 MIB 307 . 2 MIB=363 . 0 MIB PHP-fpm 7 . 4(6)

233.9 MIB 234.0 MIB=467.9 MIB redis-server

578.2 MiB 578.6 MiB=1.1 GiBmysqld

2.2 GiB

=======================================================

如果要查找占用系统内存大部分的正在运行的程序,此脚本很有用。

结论

我展示了一些可用于确定系统内存使用量的命令。

如果有问题或意见,请在下面写下意见。

Linux

Command

拉姆

LINUX

Bash:写入文件

2022-9-22 15:03:30

LINUX

如何使用Nmap命令

2022-9-22 17:00:38

搜索