前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Linux中检查内存使用情况

如何在Linux中检查内存使用情况

原创
作者头像
用户5005176
修改2021-08-10 10:26:43
5.8K0
修改2021-08-10 10:26:43
举报
文章被收录于专栏:网站知识

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

本文介绍了如何使用几种不同的命令来检查Linux中的RAM使用情况。

free命令

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

通常,free是通过-h选项调用的,这意味着以友好的格式打印输出:

代码语言:javascript
复制
free -h

代码语言:javascript
复制
              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

代码语言:javascript
复制
free -h

输出将如下所示:

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

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

/proc/meminfo

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

使用lesscat查看/proc/meminfo文件的内容:

代码语言:javascript
复制
cat /proc/meminfo

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

代码语言:javascript
复制
MemTotal:        4030592 kB
MemFree:          401804 kB
MemAvailable:    2507504 kB
...

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

ps_mem脚本

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

代码语言:javascript
复制
sudo pip3 install ps_mem

运行ps_mem需要管理员权限:

代码语言:javascript
复制
sudo ps_mem

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

代码语言:javascript
复制
 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
=================================

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • free命令
  • top命令
  • /proc/meminfo
  • ps_mem脚本
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档