1.Jenkins安装

top命令概览

首先,让我们了解一下输出。top命令会显示系统的很多信息。我们需要理解不同部分输出的意义:默认运行时,top命令会显示如下输出:

前几行水平显示了不同系统参数的概括,接下来是进程和它们在列中的属性。

系统的运行时间和平均负载

  • 16:04:01:当前时间
  • up 43 days, 2:41:系统运行时间
  • 1 user:当前登陆的用户个数
  • load average: 0.06, 0.04, 0.05:相应最近5、10和15分钟内的平均负载

最后三个数值是最重要的。从这几个数值可以看出系统系统负载是上升、平稳、下降等趋势,它是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值,如果这个数除以逻辑cpu的数量,结果高于5的时候表明系统超负荷运转了。逻辑cpu的个数可以这么看cat /proc/cpuinfo| grep "processor"| wc -l

任务

系统现在共有113个进程,其中处于运行中的有1个,112个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个

cpu状态信息 cpu状态信息

按数字1会显示所有的 cpu

  • 0.2 us:用户空间占用CPU的百分比,当此值过大时,通常是某些个别的进程占用了大量的CPU,这时候很容易通过top找到该程序;此时如果怀疑程序异常,可以通过perf等思路找出热点调用函数来进一步排查
  • 0.1 sy:内核空间占用CPU的百分比,如果IO操作(包括终端IO)比较多,可能会造成这部分的CPU占用率高,比如在file server、database server等类型的服务器上,否则(比如>20%)很可能有些部分的内核、驱动模块有问题;
  • 0.0% ni:改变过优先级的进程占用CPU的百分比,通常是有意行为,当进程的发起者知道某些进程占用较高的CPU,会设置其nice值确保不会淹没其他进程对CPU的使用请求
  • 99.7 id:CPU在空闲状态(执行kernel idle handler)所占用的时间
  • 0.1 wa::等待IO完成做占用的时间,当iowait占用率过高的时候,通常意味着某些程序的IO操作效率很低,或者IO对应设备的性能很低以至于读写操作需要很长的时间来完成;
  • 0.0 hi:系统处理硬件中断所消耗的时间
  • 0.0 si:系统处理软中断所消耗的时间,记住软中断分为softirqs、tasklets(其实是前者的特例)、work queues,不知道这里是统计的是哪些的时间,毕竟work queues的执行已经不是中断上下文了
  • 0.0 st: 在虚拟机情况下才有意义,因为虚拟机下CPU也是共享物理CPU的,所以这段时间表明虚拟机等待hypervisor调度CPU的时间,也意味着这段时间hypervisor将CPU调度给别的CPU执行,这个时段的CPU资源被”stolen”了。这个值在我KVM的VPS机器上是不为0的,但也只有0.1这个数量级,是不是可以用来判断VPS超售的情况?当steal占用率过高的时候,黑心厂商虚拟机超售了吧!

内存信息

  • 8010528 total:物理内存总量(8GB)
  • 161292 free:空闲内存总量(156M)
  • 529748 used:使用中的内存总量(516M)
  • 7319488 buff/cache:(6.9G)

注意:total = free + used + buffer/cache

  • buffer:缓冲,针对write操作,匹配将数据先缓存再内存中,隔段时间就刷写到磁盘上,这段数据丢失了,就找不回了
  • cache:快取,针对read操作,将程序需要的数据提前缓存扎起内存中,供应用进程使用。这段数据可以重复读取,可以丢失,
  • cache回收:cho 1 > /proc/sys/vm/drop_caches

swap分区信息

  • 2097148 total:交换区总量(2G)
  • 2097148 free:空闲交换区总量(2G)
  • 0 used:使用的交换区总量(0K)
  • 779528 avail Mem:可以给新开启的程序多少内存空间,大致和free + buff/cached相当,而这也印证了上面的说法,free + buffers + cached Mem才是真正可用的物理内存

程序的资源占用列表

  • 排序
    • P:以占据的cpu百分比排序
    • M:占据内存的百分比
    • T:累积占据cpu的时长
  • 首部显示命令
    • l:uptime信息
    • t:task和cpu信息
    • 1:数字1,显示所有的cpu情况
    • m:memory 信息
    • s:输入数字,修改刷新时间间隔
    • k:输入pid,终止指定的进程
    • W:保存文件

选项:

  • -d #:指定刷新时间间隔,默认3s
  • -b:以批次方式显示
  • -n #:刷新多少批次

猜你喜欢

转载自www.cnblogs.com/dyrex/p/9257544.html
今日推荐