Linux 下如何检查内存使用率(Linux 下如何检查内存使用率)
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日志(Linux使用shell脚本定时删除历史日志文件)
- 虚拟主机windows和linux啥区别(Linux虚拟主机的好处有哪些?)
- linux中pwd怎么用(WDCP控制面板的常用linux命令集)
- 宝塔linux面板新手使用教程交流(宝塔面板Linux自动磁盘挂载工具 BT-Panel 1.0)
- linuxgzip命令(Linux bzip2 命令的使用)
- linux后台运行程序的命令(在后台运行Linux命令的方法)
- centos7宝塔面板离线安装(linux centos 宝塔面板和安全狗安装过程记录)
- linux查询服务重启(Linux上定位后台服务偶发崩溃的解决方法)
- linux中的软连接是什么(区分Linux硬链接与软链接)
- linux中输出和追加命令(linux驱动开发中常用函数copy_from_user open read write详解)
- 查看linux服务器开放哪些端口(详解Linux服务器最多能开放多少个端口)
- linux安装nginx启动页面访问不到(apache,nginx上传目录无执行权限的设置方法)
- linux如何进入makefile(linux中无make命令的问题make: *** 没有指明目标并且找不到 makefile及make命令安装方)
- linux怎么设置php代码(linux Cron定时执行带参数的PHP代码)
- linux nginx部署前端项目(nginx部署多前端项目的几种方法)
- springboot如何解析vue登录参数(SpringBoot + Vue 项目部署上线到Linux 服务器的教程详解)
- 怎么快速学好英语(怎么快速学好英语初中)
- 中国留学生都是富二代吗()
- 我们现在吃的苹果是哪里来的 原来现代苹果引入中国仅有一百多年(我们现在吃的苹果是哪里来的)
- 买绿宝不能只挑黄绿色 菜农教你3招挑,个个皮薄肉脆,香甜爆汁(买绿宝不能只挑黄绿色)
- 大果肉搭配薄瓜皮, 绿宝 脆甜爽口,不愧是甜瓜中的 佼佼者(大果肉搭配薄瓜皮)
- 河南尉氏县因地制宜发展果蔬种植 水坡镇绿宝甜瓜变 金瓜(河南尉氏县因地制宜发展果蔬种植)
热门推荐
- html5表单元素自带验证功能(纯CSS3实现表单验证效果非常不错)
- C#预处理器指令
- asp.net后台输出js脚本
- react组件封装成函数方法(React虚拟列表的实现)
- python strip用法(Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析)
- 数据库该不该用外键
- dedecms怎么设置下拉菜单(织梦DedeCMS实现 三级栏目_二级栏目_一级栏目_网站名称 的效果代码)
- php redis应用场景(PHP商品秒杀问题解决方案实例详解mysql与redis)
- yield函数详解(Yii框架的redis命令使用方法简单示例)
- mysql mvcc 底层原理(浅析MySQL - MVCC)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9