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下安装node.js都是使用源码编译,其实node的github上已经提供了各个系统下使用各自的包管理器(package manager)安装node.js的方法。...2015-03-15
- grep命令是Linux系统中最重要的命令之一,功能是从文本文件或管道数据流中筛选匹配的行和数据,如果再配合正则表达式,功能十分强大,是Linux运维人员必备的命令,这篇文章主要介绍了Linux中grep详解,需要的朋友可以参考下...2023-02-15
- 这篇文章主要介绍了浅谈redis key值内存消耗以及性能影响,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-07
Linux安装Pytorch1.8GPU(CUDA11.1)的实现
这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25- 这篇文章主要介绍了详解分析MySQL8.0的内存消耗,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下...2021-03-23
- 这篇文章主要介绍了Linux 下使用shell脚本定时维护数据库,本文通过案例分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
- 这篇文章主要介绍了linux服务器快速卸载安装node环境(简单上手),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22
- 这篇文章主要介绍了Linux环境变量配置全攻略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-03-31
- 这篇文章主要介绍了解决使用OpenCV中的imread()内存报错问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
- 今天小编就为大家分享一篇解决tensorflow训练时内存持续增加并占满的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-22
Linux下升级安装python3.8并配置pip及yum的教程
这篇文章主要介绍了Linux下升级安装python3.8并配置pip及yum的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-02- 这篇文章主要介绍了Linux下安装mysql8.0.20的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-25
- 这篇文章主要为大家详细介绍了linux下源码安装mysql5.6.20教程的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-15
- 这篇文章介绍了C#操作内存读写方法的主要实现代码,下面让我们来看看具体的实例实现,有需要的朋友可以参考一下...2020-06-25
- 在本篇文章里小编给大家整理了关于C#托管内存与非托管内存之间的转换的实例以及相关知识点,需要的朋友们学习下。...2020-06-25
- 这篇文章主要介绍了Linux zabbix agent部署及配置方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-08-21
- 这篇文章主要介绍了Linux环境下nginx搭建简易图片服务器,需要的朋友可以参考下...2016-01-27
SpringBoot actuator 健康检查不通过的解决方案
这篇文章主要介绍了SpringBoot actuator 健康检查不通过的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-23- 这篇文章主要介绍了Linux下统计当前文件夹下的文件个数、目录个数,本文使用ls命令配合管理、grep命令实现统计需求,需要的朋友可以参考下...2020-07-11
- 这篇文章主要介绍了Redis swap空间的使用示例,帮助大家更好的理解和学习使用Redis数据库,感兴趣的朋友可以了解下...2021-03-25