暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

linux服务器top查看内存占用情况

850

前言

  • 前几天登录云服务器突然发现没几个服务内存竟然快占满了,于是赶快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终端查询内存占用详情全部操作过程,希望能帮到一些小伙伴。

  • 如操作有问题欢迎去我的博客留言或者微信公众号留言哦。

文章转载自Python技术交流圈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论