iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >top命令中Load Average分析过程
  • 653
分享到

top命令中Load Average分析过程

2023-06-15 13:06:05 653人浏览 安东尼
摘要

后端们最怕的事情之一就是服务器的负载突然飙升,这可能又意味着一个个夺目Call马上要打过来了。碰到这种情况怎么办,大家第一反应一定是登陆到服务器上,先敲一个top命令看看Load Average吧。Load Average很多人说Load


后端们最怕的事情之一就是服务器的负载突然飙升,这可能又意味着一个个夺目Call马上要打过来了。碰到这种情况怎么办,大家第一反应一定是登陆到服务器上,先敲一个top命令看看Load Average吧。

Load Average

top命令中Load Average分析过程

很多人说Load Average这一个指标就能说明系统负载高了,这句话是对的。那么具体是哪里压力大了呢?这三个数值是怎么计算出来的呢?可能很多人一下子都说不上来。

先来说说定义吧:在一段时间内,CPU正在处理以及等待CPU处理的进程数之和。三个数字分别代表了1分钟,5分钟,15分钟的统计值。

所以,这个数值的确能反应服务器的负载情况。但是,这个数值高了也并不能直接代表这台机器的性能有问题。可能是因为正在进行CPU密集型的计算,也有可能是因为I/O问题导致运行队列堵了。所以,当我们看到这个数值飙升的时候,还得具体问题具体分析。直接升级机器是简单粗暴,但是治标不治本。

top命令一行一行看

top命令输出了很多参数,真正的服务器负载情况我们要综合其他参数一起看。

第一行:

top - 20:41:08 up 18 days,  5:24,  2 users,  load average: 0.04, 0.03, 0.05  top:当前时间  up:机器运行了多少时间  users:当前有多少用户  load average:分别是过去1分钟,5分钟,15分钟的负载

具体需要关注的果然还是load average这三个数值。大家都知道,一个CPU在一个时间片里面只能运行一个进程,CPU核数的多少直接影响到这台机器在同时间能运行的进程数。所以一般来说Load Average的数值别超过这台机器的总核数,就基本没啥问题。

第二行:

Tasks: 216 total,   1 running, 215 sleeping,   0 stopped,   0 zombie  Tasks:当前有多少进程  running:正在运行的进程  sleeping:正在休眠的进程  stopped:停止的进程  zombie:僵尸进程

running越多,服务器自然压力越大。

第三行:

%Cpu(s):  0.2 us,  0.1 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st  us: 用户进程占CPU的使用率  sy: 系统进程占CPU的使用率  ni: 用户进程空间改变过优先级  id: 空闲CPU占用率  wa: 等待输入输出的CPU时间百分比  hi: 硬件的中断请求  si: 软件的中断请求  st: steal time

这一行代表了CPU的使用情况,us长期过高,表明用户进程占用了大量的CPU时间。us+sy如果长期超过80或者90,可能就代表了CPU性能不足,需要加CPU了。

第四行&第五行

KiB Mem : 65810456 total, 30324416 free,  9862224 used, 25623816 buff/cache  KiB Swap:  7999484 total,  7999484 free,        0 used. 54807988 avail Mem  total:内存总量  free:空闲内存  used:使用的  buffer/cache:写缓存/读缓存

第四第五行分别是内存信息和swap信息。所有程序的运行都是在内存中进行的,所以内存的性能对与服务器来说非常重要。不过当内存的free变少的时候,其实我们并不需要太紧张。真正需要看的是Swap中的used信息。Swap分区是由硬盘提供的交换区,当物理内存不够用的时候,操作系统才会把暂时不用的数据放到Swap中。所以当这个数值变高的时候,说明内存是真的不够用了。

第五行往下

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                                                   19868 root      20   0 19.733g 369980  15180 S   0.7  0.6 129:53.91 java                                                                                                                                                                      19682 root      20   0 19.859g 5.766g  22252 S   0.3  9.2 139:42.81 java                                                                                                                                                                     54625 100       20   0   50868  33512   4104 S   0.3  0.1   0:04.68 fluentd                                                                            PID:进程id  USER:进程所有者  PR:优先级。数值越大优先级越高  NI:nice值,负值表示高优先级,正值表示低优先级  VIRT:进程使用的虚拟内存总量  SWAP:进程使用的虚拟内存中被换出的大小  RES:进程使用的、未被换出的物理内存大小  SHR:共享内存大小  SHR:共享内存大小  S:进程状态。D表示不可中断的睡眠状态;R表示运行;S表示睡眠;T表示跟踪/停止;Z表示僵尸进程。  %CPU:上次更新到现在的CPU占用百分比 ;  %MEM:进程使用的物理内存百分比 ;  TIME+:进程使用的CPU时间总计,单位1/100秒;  COMMAND:命令名/命令行

这些就是进程信息了,从这里可以看到哪些进程占用系统资源的概况。

top当然是我们最常见的查看系统状况的命令。其他命令还有很多。vmstat,w,uptime ,iOStat这些都是常用的命令。

上述就是小编为大家分享的你看懂top了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: top命令中Load Average分析过程

本文链接: https://www.lsjlt.com/news/280331.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • top命令中Load Average分析过程
    后端们最怕的事情之一就是服务器的负载突然飙升,这可能又意味着一个个夺目Call马上要打过来了。碰到这种情况怎么办,大家第一反应一定是登陆到服务器上,先敲一个top命令看看Load Average吧。Load Average很多人说Load ...
    99+
    2023-06-15
  • Redis中命令执行过程的示例分析
    这篇文章将为大家详细讲解有关Redis中命令执行过程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Redis 是怎么执行远程客户端发来的命令的Redis cli...
    99+
    2024-04-02
  • 如何使用top命令分析linux系统性能
    这篇文章给大家介绍如何使用top命令分析linux系统性能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。top命令是Linux下常用的性能分析工具,可谓是分析系统性能最方便的工具能够实时显示系统中各个进程的资源占用状况...
    99+
    2023-06-28
  • jstack配合top命令分析CPU飙高、程序死锁问题
    jstack:Java堆栈跟踪工具 jstack(Stack Trace for Java)命令用于生成虚拟机当前时刻的线程快照(一般称为threaddump或者javacore文件...
    99+
    2024-04-02
  • Redis命令处理过程实例源码分析
    这篇文章主要介绍“Redis命令处理过程实例源码分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Redis命令处理过程实例源码分析”文章能帮助大家解决问题。本文基于社区版Redis 4.0.81、...
    99+
    2023-06-29
  • Redis命令处理过程源码解析
    本文基于社区版Redis 4.0.8 1、命令解析 Redis服务器接收到的命令请求首先存储在客户端对象的querybuf输入缓冲区,然后解析命令请求的各个参数,并存储在客户端对象...
    99+
    2024-04-02
  • CMD命令中目录类命令的示例分析
    这篇文章给大家分享的是有关CMD命令中目录类命令的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。(一)MD——建立子目录 1.功能:创建新的子目录2.类型:内部命令3.格式:MD[盘符:][路径名]〈子目...
    99+
    2023-06-08
  • 如何分析Linux命令中的tar打包命令
    如何分析Linux命令中的tar打包命令,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Linux中解压缩命令非常多,每个命令的使用方法略有不同,下面讲解一下Li...
    99+
    2023-06-28
  • Vue中生命周期过程的示例分析
    这篇文章主要介绍Vue中生命周期过程的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Vue 提供了11个钩子函数1,从创建到销毁发生的一系列状态叫做什么周期,在这个过程中vu...
    99+
    2024-04-02
  • 分析Dockerfile中的保留字指令的过程
    这篇文章主要讲解了“分析Dockerfile中的保留字指令的过程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分析Dockerfile中的保留字指令的过程”吧!一、Dockerfile是什么...
    99+
    2023-06-25
  • UNIX系统中的异步编程:如何通过GO语言的LOAD命令实现?
    在现代计算机系统中,异步编程已经成为了一种常见的编程模式。在UNIX系统中,异步编程是一种非常常见的编程技巧。同时,GO语言也成为了一种非常流行的编程语言,因为它支持异步编程。在本文中,我们将会介绍如何通过GO语言的LOAD命令来实现UN...
    99+
    2023-10-26
    load 异步编程 unix
  • ghostscript沙箱绕过远程命令执行漏洞的示例分析
    这篇文章将为大家详细讲解有关ghostscript沙箱绕过远程命令执行漏洞的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。0x00 漏洞背景11月21号,Semmle团队的安全研究员Ma...
    99+
    2023-06-19
  • PostgreSQL中vacuum过程分析
    本篇内容主要讲解“PostgreSQL中vacuum过程分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PostgreSQL中vacuum过程分析”吧!一、数...
    99+
    2024-04-02
  • Linux中who命令的使用分析
    这篇文章给大家介绍Linux中who命令的使用分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。关于who  显示登录系统的用户。执行who命令可得知目前有那些用户登入系统,单独执行who命令会列出登入帐号,使用的终端...
    99+
    2023-06-05
  • Linux中命令行的示例分析
    这篇文章将为大家详细讲解有关Linux中命令行的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、命令行真的好吗程序员的使命维基百科的解释:命令行界面(英语:command-line interf...
    99+
    2023-06-06
  • Mybatis执行SQL命令的流程分析
    目录MapperProxy的功能:MapperMethod的功能:Mybatis中的Sql命令,在枚举类SqlCommandType中定义的。 public enum SqlComm...
    99+
    2023-05-16
    Mybatis执行SQL命令 Mybatis执行SQL
  • Oracle中命名块之存储过程的示例分析
    这篇文章将为大家详细讲解有关Oracle中命名块之存储过程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、匿名块和命名块◆PL/SQL块分为良好总:命名块和匿...
    99+
    2024-04-02
  • linux中ls命令使用实例分析
    本篇内容介绍了“linux中ls命令使用实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ls命令是l...
    99+
    2024-04-02
  • PHP中命令模式的示例分析
    这篇文章主要介绍PHP中命令模式的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!命令模式,也称为动作或者事务模式,很多教材会用饭馆来举例。作为顾客的我们是命令的下达者,服务员是这个命令的接收者,菜单是这个实际...
    99+
    2023-06-20
  • linux中mkdir命令使用实例分析
    这篇文章主要介绍“linux中mkdir命令使用实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux中mkdir命令使用实例分析”文章能帮助大家解决问题...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作