前言
- 前几天登录云服务器突然发现没几个服务内存竟然快占满了,于是赶快top查看,发现直接top查看的话 也不太好分析是哪个应用占用的内存比较大,于是谷歌了一番记录了以下几种查内存占用情况的方法。
查看内存占用情况的几种方法
free命令
-
命令格式:
free –m
-
用于检查有关系统RAM的使用情况(查看系统的可用和已用内存)
-
linux主机可用内存计算公式:可用内存 =free +buffers +cached
vmstat指令
-
命令格式:
vmstat -s (参数)
-
用于查看系统的内存存储信息,是一个报告虚拟内存统计信息的小工具。
- vmstat 命令报告包括:进程、内存、分页、阻塞 IO、中断、磁盘、CPU。
/proc/meminfo 指令
-
命令格式:
cat /proc/meminfo
-
用于从
/proc
文件系统中提取与内存相关的信息,这些文件包含有系统和内核的内部信息。 -
你还可以使用命令
less /proc/meminfo
直接读取该文件。 - 通过使用 less 命令,可以在长长的输出中向上和向下滚动,找到你需要的内容。
top 指令
-
命令格式:
top
-
用于打印系统中的CPU和内存使用情况。
-
top 最好的地方之一就是发现可能已经失控的服务的进程 ID 号(PID)。
-
有了这些 PID,你可以对有问题的任务进行故障排除(或 kill)。
-
如果你想让 top 显示更友好的内存信息,使用命令
top -o %MEM
,这会使 top 按进程所用内存对所有进程进行排序。
htop 指令
-
命令格式:
htop
-
详细分析CPU和内存使用情况。
-
如果未安装
htop
,需先安装。 - Ubuntu安装:
apt-get update && apt-get install htop
- CentOS安装:
yum update && yum install htop
博主是用htop来查询内存占用具体进程的
- 由于终端直接输入top命令无法快速查找到占用内存大的进程,所以需要以内存占用大小来排序
- 命令格式:
top -o %MEM
- 通过以上命令就可以清晰的看到是哪个服务占用内存较多,然后根据自身情况做一些优化。
- 例如本次博主这边是uwsgi配置了四个进程导致占用了一大部分内存,上图是已优化过的,优化后整个服务器内存占用才0.6GB。
结语
- 以上就是linux终端查询内存占用详情全部操作过程,希望能帮到一些小伙伴。
- 如操作有问题欢迎去我的博客(www.loganjin.cn)留言或者微信公众号(Python技术交流圈)留言交流哦。
版权声明:如无特殊说明,文章均为本站原创,转载请注明出处
本文链接:https://www.loganjin.cn/article/linux-top/
许可协议:署名-非商业性使用 4.0 国际许可协议