番禺区建站服务商延吉市住房城乡建设局网站

web/2025/9/25 21:21:13/文章来源:
番禺区建站服务商,延吉市住房城乡建设局网站,外国网站在内地做seo,设计商城网站建设转载自 服务器性能指标#xff08;二#xff09;——CPU利用率分析及问题排查 平常的工作中#xff0c;在衡量服务器的性能时#xff0c;经常会涉及到几个指标#xff0c;load、cpu、mem、qps、rt等。每个指标都有其独特的意义#xff0c;很多时候在线上出现问题时二——CPU利用率分析及问题排查 平常的工作中在衡量服务器的性能时经常会涉及到几个指标load、cpu、mem、qps、rt等。每个指标都有其独特的意义很多时候在线上出现问题时往往会伴随着某些指标的异常。大部分情况下在问题发生之前某些指标就会提前有异常显示。 在上一篇文章中我们介绍了一个重要的指标就是负载Load其中我们提到Linux的负载高主要是由于CPU使用、内存使用、IO消耗三部分构成。任意一项使用过多都将导致服务器负载的急剧攀升。本文就来分析其中的第二项CPU的利用率。主要涉及CPU利用率的定义、查看CPU利用率方式、CPU利用率飙高排查思路等。 什么是CPU利用率 CPU利用率又称CPU使用率。顾名思义CPU利用率是来描述CPU的使用情况的表明了一段时间内CPU被占用的情况。使用率越高说明你的机器在这个时间上运行了很多程序反之较少。使用率的高低与你的CPU强弱有直接关系。 在接下来深入介绍CPU的利用率之前我们先来解释一个简单的概念可能是很多人一直存在误解的地方。 很多人都知道现在我们用到操作系统无论是Windows、Linux还是MacOS等其实都是多用户多任务分时操作系统。使用这些操作系统的用户是可以“同时”干多件事的这已经是日常习惯了并没觉得有什么特别。 但是实际上对于单CPU的计算机来说在CPU中同一时间是只能干一件事儿的。为了看起来像是“同时干多件事”分时操作系统是把CPU的时间划分成长短基本相同的时间区间,即时间片通过操作系统的管理把这些时间片依次轮流地分配给各个用户使用。 如果某个作业在时间片结束之前,整个任务还没有完成那么该作业就被暂停下来,放弃CPU等待下一轮循环再继续做.此时CPU又分配给另一个作业去使用。 由于计算机的处理速度很快只要时间片的间隔取得适当,那么一个用户作业从用完分配给它的一个时间片到获得下一个CPU时间片中间有所停顿但用户察觉不出来,好像整个系统全由它独占似的。 而我们说到的CPU的占用率一般指的就是对时间片的占用情况。 查看CPU利用率 在上一篇文章中我们介绍过使用uptime、top、w等命令可以在Linux查看系统的负载情况。其中top命令也可以用来查看CPU的利用率除此之外还可以使用vmstat来查看cpu的利用率。 vmstat命令 vmstat命令是最常见的Linux/Unix监控工具可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率内存使用虚拟内存交换情况,IO读写情况。 1➜  ~ vmstat 2procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- 3 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 4 0  1      0 2446260      0 3202312    0    0   201 16304    1    6  0  0 84  5 1从上面的结果中我们可以看到很多信息我们本文重点关注下cpu部分的指标。 1us sy id wa st 20  0  84  5 1以上几个指标是当前CPU的占用情况。 %us用户进程执行时间百分比 us的值比较高时说明用户进程消耗的CPU时间多但是如果长期超50%的使用那么我们就该考虑优化程序算法或者进行加速。 %sy内核系统进程执行时间百分比 sy的值高时说明系统内核消耗的CPU资源多这并不是良性表现我们应该检查原因。 %id空闲时间百分比 %waIO等待时间百分比 wa的值高时说明IO等待比较严重这可能由于磁盘大量作随机访问造成也有可能磁盘出现瓶颈块操作。 %st虚拟 CPU 等待实际 CPU 的时间的百分比 一般vmstat工具的使用是通过两个数字参数来完成的第一个参数是采样的时间间隔数单位是秒第二个参数是采样的次数。 1➜  ~ vmstat 2 2 2procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- 3 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 4 0  0      0 2479444      0 3165172    0    0   196 15905    2    8  0  0 84  5 11 5 0  0      0 2479404      0 3165176    0    0     0  2804 81664 2715  0  0 90  1  9以上命令表示采集两次数据每隔2秒采集一次。 top命令 top命令是Linux下常用的性能分析工具能够实时显示系统中各个进程的资源占用状况类似于Windows的任务管理器。 1~ top 2top - 10:58:07 up 18:13,  1 user,  load average: 0.32, 0.24, 0.19 3Tasks:  64 total,   1 running,  63 sleeping,   0 stopped,   0 zombie 4Cpu(s):  0.1%us,  0.2%sy,  0.0%ni, 92.8%id,  0.1%wa,  0.0%hi,  0.0%si,  6.8%st 5Mem:   8388608k total,  5928076k used,  2460532k free,        0k buffers 6Swap: 16777216k total,        0k used, 16777216k free,  3181996k cached 7   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME  COMMAND 8  2393 admin     20   0 5056m 2.2g  56m S  4.3 27.6  79:06.21 java 9  1054 root      20   0  338m 9760 5112 S  0.3  0.1   2:37.30 logagent使用top命令除了可以查看Load Avg以外还可以显示CPU利用率信息。 以上top命令打印的信息中Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 92.8%id, 0.1%wa, 0.0%hi, 0.0%si, 6.8%st第三行反映了当前cpu的整体情况。 从上面的打印信息中我们还可以看到ID为2393的java进程当前内存使用率最高占到4.3%左右。 由于Java是多线程的所有有些时候我们希望可以查看一个Java进程中所有线程的cpu使用率如何也可以使用top命令来查看。 1➜  ~ top -Hp 1893 2PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME  COMMAND 319163 admin     20   0 5056m 2.2g  56m S  1.7 27.6  17:39.97 java 410649 admin     20   0 5056m 2.2g  56m S  0.7 27.6   4:07.64 java 55884 admin     20   0 5056m 2.2g  56m S  0.3 27.6   2:18.19 java 610650 admin     20   0 5056m 2.2g  56m S  0.3 27.6   1:24.77 java通过top -Hp 1893命令我们可以发现当前1893这个进程中ID为19163的线程占用CPU最高达到1.7%左右。 PStop命令的输出结果是动态的随着系统的情况实时变化的。 CPU使用率的计算逻辑 描述系统cpu使用情况主要有一下几点 user 从系统启动到现在CPU处于用户态的运行时间。不包含nice值为负的进程。 nice 从系统启动到现在CPUnice为负值的进程占用的cpu时间。 system 从系统启动到现在CPU处于内核态的运行时间。 idle 从系统启动到现在CPU除了 iowait外的等待时间。 iowait 从系统启动到现在CPUio 等待时间。 irq 从系统启动到现在CPU硬中断花费的时间。 softirq 从系统启动到现在CPU软中断花费的时间。 steal 从系统启动到现在CPU运行其他虚拟环境中的操作系统花费的时间。 guest 从系统启动到现在CPU运行在通过Linux内核控制的客户操作系统上的虚拟cpu的时间。 guest_nice 从系统启动到现在CPU运行在通过Linux内核控制的客户操作系统上的虚拟cpu的时间, nice 为负值进程。 知道了以上参数的意思计算某段时间内的cpu使用率就不难由于cpu资源是在高速的变化于是计算cpu使用率只能是在一段时间内的设置两个时间点为t1和t2 CPU在t1和t2时间内总的使用时间: 1( user2 nice2 system2 idle2 iowait2 irq2 softirq2 steal2 guest2 guest_nice2 ) - ( user1 nice1 system1 idle1 iowait1 irq1 softirq1 steal1 guest1 guest_nice1)CPU的空闲时间 1(idle2 -idle1)CPU在t1和t2时间内的使用率 1CPU非空闲时间/CPU总时间*100%1-CPU的空闲时间/CPU总时间*100%则 1CPU(t1,t2)使用率1-(idle2-idle1)/(( user2 nice2 system2 idle2 iowait2 irq2 softirq2 steal2 guest2 guest_nice2 ) - ( user1 nice1 system1 idle1 iowait1 irq1 softirq1 steal1 guest1 guest_nice1))(参考资料https://blog.csdn.net/IT_DREAM_ER/article/details/52037368) CPU利用率和负载 我们上一篇文章介绍了系统的负载本文介绍了CPU利用率很多小伙伴就会分不清楚了这两者之前到底有什么区别和联系呢 CPU利用率是对一个时间段内CPU使用状况的统计通过这个指标可以看出在某一个时间段内CPU被占用的情况。 CPU负载是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息也就是CPU使用队列的长度的统计信息。 有一个很好的比喻就是把CPU的使用比喻成排队打电话 我们将CPU就类比为电话亭每一个进程都是一个需要打电话的人。现在有一个电话亭单核计算机有10个人需要打电话10个进程。现在使用电话的规则是管理员会按照顺序给每一个人轮流分配1分钟的使用电话时间如果使用者在1分钟内使用完毕那么可以将电话使用权返还给管理员如果到了1分钟电话使用者还没有使用完毕那么需要重新排队等待再次分配使用。在电话亭使用过程中肯定会有人打完电话走掉有人没有打完电话而选择重新排队同样也会有新来的人继续排队这个人数的变化就相当于任务数的增减。 CPU的Load统计一定时间段内所有使用电话的人加上等待电话分配的人数的平均值。为了统计平均负载情况我们5分钟统计一次人数并在第1、5、15分钟的时候对统计情况取平均值从而形成第1、5、15分钟的平均负载。 CPU利用率统计的进程在进入电话亭后真正使用电话的时间和在电话亭停留的时间的比值。例如一个用户得到了一分钟的使用权在10秒钟内打了电话然后去查询号码本花了20秒钟再用剩下的30秒打了另一个电话。那么他的利用率就是(1030)/60 Java Web应用CPU使用率飙高排查思路 当发现系统的CPU使用率飙高时首先要定位到是哪个进程占用的CPU较高。一般情况下对于Java代码来说导致CPU飙高可能由以下几个原因引起 1、内存泄露、导致大量Full GC如典型的Java 1.7之前的String.subString导致的内存泄露问题 2、代码存在死循环如典型的多线程场景使用HashMap导致死循环的问题 这部分问题排查思路其实和我上一篇问文章的思路差不多基本都是先定位到占用CPU较多的进程和线程然后通过命令在查看这条线程执行情况。通过分析代码来定位其中的问题。 这里就不重复介绍了最重要的是熟练的使用jstack、jstat以及jmap等命令来定位及解决Java进程的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81825.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站如何添加友情链接网站的建设 教学计划

要求: 1、r5为isp,只能进行ip地址的配置,其所有ip地址均为共有ip地址 2、r1和r5使用ppp的PAP认证,r5为主认证方 r2和r5之间使用ppp的chap认证,r5为主认证方 r3和r5之间使用HDLC封装 3、r1 r2 r3构建一个MGRE环境…

win10记事本怎么做网站河南造价信息网官网

参考:https://edu.csdn.net/skill/c 1、输出 “Hello, World!” 字符串,请选出错误答案。 2、错误的print函数。 for … in …:是python的语法,C语言的写法是for (;😉 3、C标准 没有C19标准。 4、了解C编译管道 …

响应式网站psdWordPress顶部广告插件

阿里云服务器租用4核8G配置多少钱一年?700元一年。阿里云4核8G服务器租用优惠价格700元1年,配置为ECS通用算力型u1实例(ecs.u1-c1m2.xlarge)4核8G配置、1M到3M带宽可选、ESSD Entry系统盘20G到40G可选,CPU采用Intel(R)…

二手交易网站建设目标坂田网站建设多少钱

文章目录 前提一、运行效果二、代码获取 前言 首先确定自己的JDBC连接数据库已经完成,不懂可以看看其他博主的解析。 我使用的是SQL Server数据库,数据库名称为stu,账号为sa,密码为123456 数据库的表为student表,内容如下: 一、…

h5学习教程深圳网站优化项目

软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 典型表现: 开发成本和进度的估计常常很不准确 用户对已完成的软件系统不满意,闭门造车 软件质量(quality)不可靠 软件常常是不可维护的 软件产品供不应…

将网页加入可信站点网站做rss+wordpress

学习交流加 个人qq: 1126137994个人微信: liu1126137994学习交流资源分享qq群: 962535112 上一篇文章迈进了汇编的大门,点击链接查看上一篇文章:汇编语言和汇编软件 上一篇文章大概学会以下内容: 了解汇编…

专业的移动客户端网站建设如果在网站做推广连接

高版本的 lombok 和 tomcat 7 插件冲突问题 在开发期间,当我们使用 tomcat7-maven-plugin 来作为运行环境运行我们项目使,如果我们项目中使用了 1.16.20 及以上版本的 lombok 包,项目启动时会报错: for annotations org.apache.…

苏州建设交通招聘信息网站深圳高端网站建设费用

快速排序 平均时间复杂度 O(NlogN) 最差时间复杂度O(N*N) 不稳定 它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序…

wordpress仿站实战教程计算机应用教程 网站的建设与维护

这道题我真的纠结好久,因为没注意那个原地的题目要求,所以很奇怪怎么我电脑运行成功,但是LeetCode上运行就是不对。气哭。 感谢群友lino的帮助。他试了set方法不行,直接喂给我的答案了。。。 题目:26. 删除排序数组中的…

网站设置不能手机访问做网站价格和配置

日志实现框架 常见框架: JULLogbacLog4jLog4j2 日志实现的抽象层 避免代码的改动影响用户的使用, 常见的: JCLSLF4J 日志发展历程 JDK1.3及以前, 通过System.(out | err).println打印, 存在巨大缺陷解决系统打印缺陷问题出现log4,2015年8月停止更新受到log4j影响, SUN公…

昌图网站官方网站建设公

一、🌈什么是通用爬虫 通用爬虫(General Purpose Web Crawler或Scalable Web Crawler)是一种网络爬虫,其设计目标是对整个互联网或尽可能广泛的网络空间进行数据抓取。通用爬虫主要用于搜索引擎构建其庞大的网页索引数据库&#…

整站seo技术wordpress 文章 置顶

在《Win10本地部署大语言模型ChatGLM2-6B-CSDN博客》基础上进行,官方文档在这里,参考了这篇文章 首先确保ChatGLM2-6B下的有ptuning AdvertiseGen下载地址1,地址2,文件中数据留几行 模型文件下载地址 (注意&#xff1…

有电脑网站怎么做手机网站宣传软文是什么意思

数据库备份工具(实现数据定时覆盖) 永远热爱,永远执着! 工具介绍 自动化测试数据库更新调度程序 这段 Python 脚本自动化了每天定时从生产数据库更新测试数据库的过程。它利用了 schedule 库来安排并执行每天指定时间的更新任务…

福建工程建设网站seosem是什么职位

目录 友情提醒第一章、数据库简述1.1)数据库简述1.2)常见的数据库软件1.3)MySQL数据库安装 第二章、SQL语句分类2.1)操作数据仓库/数据表:DDL2.1.1)创建数据仓库/数据表2.1.2)删除数据仓库/数据表2.1.3&…

全国建设工程信息网站百度精准推广

git add命令 作用:移动文件:工作区-->暂存区 git add .:把所有文件都放到暂存区 git commit命令 作用:移动文件:暂存区-->本地仓库 git status命令 作用:查看修改状态 git log命令 作用&#xf…

精益生产网站开发方案建立公司网站需要多少钱

模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。1、模型(Model)模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.2、视图(View)视图是应用程序中用户界面相关的部分,是用户看到并与之交互…

网站建设 网站内容 采集交易网站建设需要学什么软件

问题提出: 系统状态不稳定,需要排查原因,所以需要监视所有进程的资源,以及进程是那个程序(有些进程名写的一样,需要根据PID查看是哪个执行文件) 方法: 1. 使用subprocess函数&…

宁波公司建网站哪家好北辰天津网站建设

要测试网盘或服务器的上传,下载速度,需要指定大小的文件用来测试。创建的空白文件虽然没有任何内容,但是有大小,可以用来测试实际传输速度、覆盖已删除数据等用途。这篇文章是本站教大家在Win10中用命令或WSL创建任意大小空白文件…

宁夏中卫市林业生态建设局网站电子商务网站功能设计

《Linux操作系统原理分析》(2) 2 Linux概述2.1 Linux发展史2.2 Linux与GNC 2.3 Linux性能2.4 Linux 技术特点 2 Linux概述 2.1 Linux发展史 年份事件1991年22岁的荷兰大学生 Linus B.Torvalds 在 PC 机上开发出简单的操作系统内核程序。1994 年 3 月Li…

网站内链规划企业宣传片制作公司天津

文章目录 1. Docker简介2. Docker环境安装Linux安装 3. 配置镜像加速4. Docker镜像常用命令列出镜像列表搜索镜像下载镜像查看镜像版本删除镜像构建镜像推送镜像 5. Docker容器常用命令新建并启动容器列出容器停止容器启动容器进入容器删除容器(慎用)查看…