top 按内存排序_总监看完top详解后做出了这样的决定

本文介绍了Linux系统管理中的top命令,详细解析了其显示的负载平均值、内存信息和进程详情,强调了VIRT, RES, SHR等关键参数在分析内存使用中的作用。通过实例展示了如何使用top命令定位CPU和内存消耗大的进程,并提供了快捷键使用技巧,帮助读者更好地进行系统监控和性能优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

97d8a54b55bea83759d1c3ce8e83a12a.png大家好,我是高胜寒,今天我们来聊聊在系统管理中的另外一个命令-top命令。top命令是我们在日常工作中用的比较多的一个,学会使用top,就相当于有了一把趁手的兵器,上可九天揽月,下可五洋捉鳖。f17efd499beef0e161a994300579f3dd.png

先睹为快:

1. 执行完top命令之后,显示结果如下图,参数较多,我们细细道来

8744deb63e80ea9e859034c8a7d9a401.png

我把开头的五行截图下来:

a300cca4796dc46c3cd5a7b4118e5bff.png

2. 第一行的含义:ecf51d65d7d53f2fc1753b076e2a1a9e.png

load average详解

load average: 指的是平均负载,在Linux当中,就是系统负载的平均值,它主要是将正在运行的线程对系统的需求显示为平均运行数和等待线程数。

如果平均值为0.0 表示系统处于空闲状态。

一般很多工具在使用这个load average的时候都会选择1分钟,5分钟和15分钟的平均值, 这里有个技巧:

-** 如果1min平均值高于5分钟或者15分钟的平均值,表示负载在增加 **

  • 如果1分钟平均值低于5分或者15分钟的平均值,表示负载在减少。

通过上面的技巧我们很容易判断当前负载是在持续增加还是减少,如果持续增加我们只需要判断当前是否达到了最大负载的阈值, 持续减少,我们几乎不用再去介入,当然你想去研究下为什么15分钟之前的负载突然增高了,也是可以的。

ff4e08a40fa3807b351f51b2ffcec0f7.png

有很多论文上说,这里的load averages指的是系统负载,但我们达不到应用层,所以还是认为是cpu的负载吧。
load averages反应的是cpu的负载,其实是不准确的, 准确的说,load averages反应的是System load averages. 检测的是正在运行和等待运行的线程数,包括cpu,磁盘,不间断锁等等。

我们可以这么理解:

当load averages较高的情况下,说明等待运行的任务比较低多,因此轮到该任务运行的等待时间就会出现较大延迟,然后反应在负载上就成了负载变高经验值:单核心,1分钟的系统平均负载不要超过3,就是ok的。所以:852bcb8093db783fa07116c3833b0fad.png注:这里的cpu核心指的是逻辑核心数怎么查看逻辑核心数?方法一:使用top命令,进入后,按1就可以看到cpu核心数。方法二:
[root@zmgaosh ~]# cat /proc/cpuinfo | grep ‘processor’ | sort | uniq | wc -l 2
c8a839d9f3a955eb7ad95aab631469f4.png3. 第二行和第三行的含义02f9e9d4d1aac07a93de261421552fcc.png59fec60071a5f28c697bcad93dd492fa.png4. 内存信息:第四行和第五行的详细信息7928e1eecfd28230bafdea162bade119.pngef27c21752506c8ed949c5a1bf68296e.png7ed0503206278a2e53fd428142ee8498.gif进程信息(第7行)2e9ced2ccd2aa41ec22107cf23c79712.png1)每列的含义11607bb0cc4de70b51f267b1d30328f8.png参数详解面试题:VIRT ,RES,SHR这三个值分别代表什么?

VIRT:virtual memory usage 虚拟内存

1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等

2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量

RES:resident memory usage 常驻内存

1、进程当前使用的内存大小,但不包括swap out 2、包含其他进程的共享

3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反 4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

SHR:shared memory 共享内存

1、除了自身进程的共享内存,也包括其他进程的共享内存

2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小 3、计算某个进程所占的物理内存大小公式:RES – SHR 4、swap

out后,它将会降下来

其实知道了这三个值代表什么也并没什么用,最重要的是需要知道下面这句话:VIRT值最高的进程就是内存使用最多的进程如果服务器特别卡,你用top排查,那个VIRT数值最大的进程就是元凶,抓住它0c8a4efe440c91e4703d263c166f17f9.pngtop常用的快捷键默认3s刷新一次,按s修改刷新时间17c16eadc9b65dd40f66062c7b077cb5.pngtop常用举例:1) 找出系统中使用cpu最多的进程运行top , 找出使用CPU最多的进程 ,按大写的P,可以按CPU使用率来排序显示2) 查看gaosh用户的进程内存使用情况[root@zmgaosh ~]# top -u gaosh83d4c3ebf25918b24ae0d821cee93b39.png3) 修改成5秒刷新一次
top -d 5
4) 监控指定进程,比如监控PID为1225的进程[root@zmgaosh ~]# top -p 122564e4bdd7f5efa253a82f82d2f29182b7.png

总结:

top 命令是我们日常工作中用的比较多的一个命令, 学会看几个重要的参数即可,比如load averages,比如查看占用内存最多的进程等

我是高胜寒,一个在教培行业不忘初心的人,本文首发于CSDN,点击

a80855c2060d7eb5c70a16ee0718a90e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值