前言

  • 前几天登录云服务器突然发现没几个服务内存竟然快占满了,于是赶快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

centos查看服务器内存频率 centos 查看内存占用_linux

  • 通过以上命令就可以清晰的看到是哪个服务占用内存较多,然后根据自身情况做一些优化。
  • 例如本次博主这边是uwsgi配置了四个进程导致占用了一大部分内存,上图是已优化过的,优化后整个服务器内存占用才0.6GB。

结语

  • 以上就是linux终端查询内存占用详情全部操作过程,希望能帮到一些小伙伴。