Linux 下如何检查内存使用率

 更新时间:2020年08月28日 14:39:40   作者:雪梦科技  
这篇文章主要介绍了Linux 下如何检查内存使用率,帮助大家更好的理解和学习Linux,感兴趣的朋友可以了解下

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

本文讲解如何在 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

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

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

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

五、总结

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

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

以上就是Linux 下如何检查内存使用率的详细内容,更多关于Linux 检查内存使用率的资料请关注脚本之家其它相关文章!

相关文章

  • Linux中验证tar包在传输后的完整性的过程详解

    Linux中验证tar包在传输后的完整性的过程详解

    在日常的系统管理或软件部署过程中,文件传输是一项常规操作,特别是当处理大型文件(如tar包)时,验证文件的完整性变得尤为重要,本文将介绍如何使用校验和来验证tar包在从一台机器传输到另一台机器后的完整性,需要的朋友可以参考下
    2023-12-12
  • Linux软硬链接和动静态库详解

    Linux软硬链接和动静态库详解

    本文详细介绍了Linux系统中目录、软链接、硬链接、.和..、静态库和动态库的概念及其使用方法,通过实际操作和示例,帮助读者理解这些概念在Linux系统中的应用
    2025-02-02
  • Linux系统信息查看常用命令

    Linux系统信息查看常用命令

    本文总结了一些查看Linux系统信息的常用命令,使用这些命令可以看系统信息、资源使用情况、网络信息、磁盘使用状况、进程状态等,需要的朋友可以参考下
    2014-03-03
  • Linux使用split切割日志文件的示例详解

    Linux使用split切割日志文件的示例详解

    split 是一个在Unix和类Unix系统(如Linux)中非常有用的命令行工具,它用于将大文件分割成较小的片段,下面我们就来看看如何使用split进行切割日志文件吧
    2025-03-03
  • 如何在Ubuntu 18.04(实体机)上配置OpenWRT的开发环境

    如何在Ubuntu 18.04(实体机)上配置OpenWRT的开发环境

    这篇文章主要介绍了如何在Ubuntu 18.04(实体机)上配置OpenWRT的开发环境,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Ubuntu20.04桌面安装及root权限开通和ssh安装详解

    Ubuntu20.04桌面安装及root权限开通和ssh安装详解

    这篇文章主要介绍了Ubuntu20.04桌面安装及root权限开通和ssh安装详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • linux环境下安装PHP的OpenSSL扩展的方法讲解

    linux环境下安装PHP的OpenSSL扩展的方法讲解

    下面小编就为大家分享一篇linux环境下安装PHP的OpenSSL扩展的方法讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Linux采用双网卡bond、起子接口的方式

    Linux采用双网卡bond、起子接口的方式

    这篇文章主要给大家介绍了关于Linux采用双网卡bond、起子接口的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • CentOS 7 在vmware中的网络设置详细介绍

    CentOS 7 在vmware中的网络设置详细介绍

    这篇文章主要介绍了CentOS 7 在vmware中的网络设置详细介绍的相关资料,这里对主要网络问题进行了一一介绍及如何解决,需要的朋友可以参考下
    2016-11-11
  • CentOS 7 x64下Apache+MySQL(Mariadb)+PHP56的安装教程详解

    CentOS 7 x64下Apache+MySQL(Mariadb)+PHP56的安装教程详解

    这篇文章主要介绍了CentOS 7 x64下Apache+MySQL(Mariadb)+PHP56的安装教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12

最新评论