【Linux系列-1】top命令详解(1),一位Linux运维大牛的BAT面试心得与经验总结

top命令可以说是linux系统资源监控最常用的命令了,top 的输出格式为:


top - 20:29:19 up 83 days,  3:42,  2 users,  load average: 7.96, 7.74, 6.15

Tasks: 214 total,   2 running, 212 sleeping,   0 stopped,   0 zombie

%Cpu(s): 50.3 us, 12.4 sy,  0.0 ni, 32.8 id,  0.0 wa,  0.0 hi,  4.5 si,  0.0 st

KiB Mem : 16267784 total,  5136976 free,  9050312 used,  2080496 buff/cache

KiB Swap:  6160380 total,  6005320 free,   155060 used.  5676356 avail Mem 



  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND

28509 root      20   0  9.912g 1.812g   7964 S 524.3 11.7   4998:59 java

16168 root      20   0 15.625g 5.199g  18020 S   4.0 33.5 233:32.50 java

   28 root      20   0       0      0      0 S   0.3  0.0   3:02.31 ksoftirqd/4

   33 root      20   0       0      0      0 S   0.3  0.0   2:26.09 ksoftirqd/5

   43 root      20   0       0      0      0 S   0.3  0.0   4:56.15 ksoftirqd/7 

  552 root      20   0       0      0      0 R   0.3  0.0  36:56.82 xfsaild/dm-0



  • top命令默认3s刷新一次

  • cpu数据显示的是所有cpu使用率的平均值,按1可以查看每个cpu的使用情况

1 结果详解

=================================================================

以上面的输出格式为例,逐行说明。

1.1 第一行



top - 20:29:19 up 83 days,  3:42,  2 users,  load average: 7.96, 7.74, 6.15



  • 21:45:45 — 当前系统时间

  • 1:31 — 系统已经连续运行了1小时31分

  • 2 users — 当前有2个用户登录系统

  • load average: 7.96, 7.74, 6.15 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。对于单核cpu,超过1表示满负载,而对于多核cpu,满负荷状态的数字为 “1.00 * CPU核数”,即双核CPU对应2.00。

1.2 第二行



Tasks: 214 total,   2 running, 212 sleeping,   0 stopped,   0 zombie



  • Tasks — 任务(进程),系统现在共有214个进程,其中处于运行中的有2个,212个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

1.3 第三行



%Cpu(s): 50.3 us, 12.4 sy,  0.0 ni, 32.8 id,  0.0 wa,  0.0 hi,  4.5 si,  0.0 st



第三行主要描述系统cpu的占用情况:

  • 50.3 us — 用户空间占用CPU的百分比。

  • 12.4 sy — 内核空间占用CPU的百分比。

  • 0.0 ni — 改变过优先级的进程占用CPU的百分比

  • 32.8 id — 空闲CPU百分比

  • 0.0% wa — IO等待占用CPU的百分比

  • 0.0 hi — 硬中断(Hardware IRQ)占用CPU的百分比

  • 4.5 si — 软中断(Software Interrupts)占用CPU的百分比

  • 0.0 st —(Steal Time)当 hypervisor 服务另一个虚拟处理器的时候,虚拟 CPU 等待实际 CPU 的时间的百分比

1.4 第四行



KiB Mem : 16267784 total,  5136976 free,  9050312 used,  2080496 buff/cache



第四行描述的是系统的内存使用情况(以kb为单位):

  • 16267784 total — 物理内存总量

  • 5136976 used — 使用中的内存总量

  • 9050312 free — 空闲内存总量

  • 2080496 buff/cache — 缓存的内存量

1.5 第五行



KiB Swap:  6160380 total,  6005320 free,   155060 used.  5676356 avail Mem 



第五行描述的是交换分区情况:

  • 6160380 total — 交换区总量

  • 155060 used — 使用的交换区总量

  • 6005320 free — 空闲交换区总量

  • 5676356 avail Mem — 可用的交换区总量

2 输出项目说明

===================================================================

在默认情况下,仅显示比较重要的 PIO、USERPR、NI、VIRT、RES、SHR、S、%CPU、%MEMTIME+、COMMAND列。

要想展示隐藏项,按 f 键进入选择界面,左侧有 * 号的表示该项是展示状态,通过方向键上下移动到某项,按 d 键可以改变该项的展示状态,然后按【ESC】或【q】键退出返回top界面。


* PID     = Process Id          

* USER    = Effective User Name 

* PR      = Priority            

* NI      = Nice Value          

* VIRT    = Virtual Image (KiB) 

* RES     = Resident Size (KiB) 

* SHR     = Shared Memory (KiB) 

* S       = Process Status      

* %CPU    = CPU Usage           

* %MEM    = Memory Usage (RES)  

* TIME+   = CPU Time, hundredths

* COMMAND = Command Name/Line   

  PPID    = Parent Process pid  

  UID     = Effective User Id   

  RUID    = Real User Id        

  RUSER   = Real User Name      

  SUID    = Saved User Id       

  SUSER   = Saved User Name     

  GID     = Group Id            



**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/f304099d488cab01f11367c7adbb6891.png)
![img](https://img-blog.csdnimg.cn/img_convert/5196cbc184ac858b3a2d4d16f0e57219.png)
![img](https://img-blog.csdnimg.cn/img_convert/ebc9f4532668b2405fe074114f755823.png)
![img](https://img-blog.csdnimg.cn/img_convert/1fa457e54e4217bad3319ecdf32c504f.png)
![img](https://img-blog.csdnimg.cn/img_convert/1a5480e8894873b438b4add6697a4e16.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
![img](https://img-blog.csdnimg.cn/img_convert/e898ed3f14d49c81a2912cfa28b14d17.jpeg)

uRDlgW-1712757081451)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
[外链图片转存中...(img-GjY4z12e-1712757081451)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值