Linux命令系列之top——里面藏着很多鲜为人知的宝藏知识

Linux命令系列之top——里面藏着很多鲜为人知的宝藏知识简介top命令是我们经常用来查看系统信息的一个指令 , 它提供了一个动态的而且是实时的借口帮助我们去查看系统执行时的进程、线程和系统参数的信息 。
top命令输出内容详细剖析【Linux命令系列之top——里面藏着很多鲜为人知的宝藏知识】首先我们先看一下top命令的输出结果:

Linux命令系列之top——里面藏着很多鲜为人知的宝藏知识

文章插图
我们现在一一分析这些字段的含义:
第一行
  • 12:53:04表示当前时间 , 也就是当前真实的时间 。
  • up 157 days 13:35 , 表示这个系统从启动到现在的时间 , 上图显示的含义就是这个系统从157天13个小时35分钟以前就启动了 。
  • 5 users 表示当前在使用这个机器的用户数量 。
  • load average: 0.00, 0.00, 0.00  , 这个值表示系统过去1分钟 , 5分钟 , 15分钟的系统负载 。现在有一个问题就是 , 什么是这里谈到的系统负载 。所谓系统负载 , 我们拿一分钟来举例子 , 我们将一分钟一个CPU时间定义为t , 在这一分钟之内总共消耗的CPU时间为c , 那么在这一分钟之内的负载为\(\frac{c}{t}\) , 需要注意的是这个消耗的CPU时间c是可以大于t的 , 因为一个程序可能使用了多个CPU(并发程序 , 也可能是多个进程同时在使用不同的CPU) 。
    Linux命令系列之top——里面藏着很多鲜为人知的宝藏知识

    文章插图
比如上面图中的1分钟内的负载大约是10 , 那么在过去的一分钟之内系统当中各种程序所消耗的CPU时间为\(c = 10.04 \times t\) 。他表示的意思就是在过去的1分钟之内 , CPU时间的消耗可以看作大约有10个CPU在满负荷运转 。注意:这里是可以看作是10个CPU在满负荷的运转 , 其实真实情况可以是在过去的一分钟之内有20个CPU在进行计算 , 然后每个CPU的计算时间为\(\frac{1}{2}t\) , 或者其他相同的CPU消耗情况 。
第二行