如何检查Linux内存耗尽,在 Linux 下如何检查内存使用率

0303d1a063e4a987765f2f97de1367f7.png

format,png

在排查系统问题,或者应用变慢,或者不明原因问题时,第一件事就是要检查系统的内存使用率。

本文讲解如何在 Linux 中使用不同的几个命令来检查 RAM 内存使用率。

一、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 - 内核缓存,页面缓存和slab

avaiable - 可用来启动新应用的估计可用内存,不包括交换内存。

这个free命令打印关于物理内存和交换内存的信息。

二、top 命令

top是一个命令工具,它展示正在运行的进程的实时信息。它同时显示系统概要,包括内存使用率。

想要运行命令,简单输入top:

top

输出将会看起来像下面这样:

format,png

输出头部包括以下信息:系统中内存,空闲内存,被使用内存,以及交换内存。

这个%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

...

这个来自/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 MiBsystemd-journald

55.8 MiB + 307.2 MiB = 363.0 MiBphp-fpm7.4 (6)

233.9 MiB + 234.0 MiB = 467.9 MiBredis-server

578.2 MiB + 578.6 MiB = 1.1 GiBmysqld

---------------------------------

2.2 GiB

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

当你想要找到到底是哪一个程序占用你的系统内存的大部分时,这个脚本非常有用。

五、总结

我们已经向你展示一些命令,你可以使用它们来检查系统内存使用率。

1efd2f0f2d93c681a4bf532eaba51dc6.png

如果你有任何疑问,请通过以下方式联系我们:

微信:

微信群:

加上面的微信,备注微信群

QQ: 3217680847

QQ 群: 82695646

9ddc589a9bae9dd81334056da3504a2c.png

原文 :https://linuxize.com/post/check-memory-linux/

60e87d29e6d90e8ca90bf5d78c4d07fb.png

相关推荐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值