当前位置: 首页 > news >正文

企业网站开发说明电子商务网站设计规划书

企业网站开发说明,电子商务网站设计规划书,研究院网站建设,前端素材网排查思路 当正在运行的Java服务导致服务器的CPU突然飙高时#xff0c;我们该如何排查定位到哪个接口的哪行代码导致CPU飙高的问题呢#xff1f;我主要提供两个方案#xff1a; jstackarthas 准备工作 代码准备 现在需要准备一段可以让服务器CPU飙高的代码以及把代码部署…排查思路 当正在运行的Java服务导致服务器的CPU突然飙高时我们该如何排查定位到哪个接口的哪行代码导致CPU飙高的问题呢我主要提供两个方案 jstackarthas 准备工作 代码准备 现在需要准备一段可以让服务器CPU飙高的代码以及把代码部署到服务环境。 RestController RequestMapping(/test) public class TestController {GetMapping(top)public void test() {while (true) {}} }打包 使用maven打包或者Docker服务将代码部署到服务器。 #整流程 mvn cleanmvn compilemvn package 在IDEA中为: 简单部署 java -jar demo1-0.0.1-SNAPSHOT.jar demo.log jstack jstack 是 JDK 提供的一个命令行工具用于生成 Java 进程的线程转储信息也称为线程快照。它可以帮助诊断和调试 Java 应用程序的线程相关问题如死锁、线程等待、线程占用CPU过高等。 jstack 命令可以在运行中的 Java 进程上执行它会输出当前 Java 进程中所有线程的堆栈跟踪信息。这些信息包括每个线程的方法调用栈、锁信息、线程状态等。 以下是 jstack 的一些常见用途和作用 线程分析jstack 生成的线程转储信息可以显示 Java 进程中所有线程的堆栈跟踪信息。您可以查看每个线程的调用栈了解线程执行的代码路径和方法调用关系。死锁检测通过查看线程的锁信息jstack 可以帮助您发现是否存在死锁情况。它会显示每个线程当前持有的锁和等待的锁以及导致死锁的锁依赖关系。线程等待jstack 可以显示线程的等待状态帮助您确定是否存在线程等待某个资源的情况。这对于排查程序在运行时出现的卡死或长时间无响应问题非常有用。CPU 使用分析通过查看线程的 CPU 使用情况jstack 可以帮助您确定哪些线程消耗了大量的 CPU 资源找出可能导致 CPU 占用过高的原因。线程状态监控jstack 提供了对线程状态的监控您可以了解线程的状态如运行、阻塞、等待等以便更好地理解应用程序的运行情况。 获取CPU飙高的进程PID top命令用于监视 Linux 系统的实时进程和系统性能信息。那么我们可以通过top命令来实时定位到那个线程占用大量CPU资源。 输入命令: top 可以看到PID列中进程id为8066的进程CPU占用率达到了98.7%那么我们接下来排查的就是这个进程。 定位进程中的问题线程 top -H -p PID 该命令的作用是在 top 工具中显示指定进程IDPID的线程级别信息。它将以线程级别的模式显示指定进程的各个线程的详细信息。 具体解释如下 -H 选项指示 top 以线程级别的模式显示信息。-p pid 选项指定需要显示信息的进程IDPID。在这个例子中PID 为 8066 的进程的线程信息将被显示。 将PID进程号转为16进制 以上已定位具体线程pid导致CPU飙高那么将指定pid转换为16进制以便下一步定位具体线程问题使用。 将一个十进制的进程IDPID转换为十六进制格式的字符串可以使用 printf 命令来实现。printf 命令可以根据指定的格式将数据进行格式化输出。 printf 0x%x\n pid 定位指定线程问题 jstack pid | grep hexadecimal -A N 具体解释如下 jstack pid 用于执行 jstack 命令并生成线程转储信息。| 是管道符号将 jstack 命令的输出传递给下一个命令。grep hexadecimal 表示使用 grep 命令来匹配包含 hexadecimal 的行。-A N 选项指定在匹配到的问题代码行后显示 N 行内容。 那么可以很快定位到是TestController类第20行出现了问题。 那么我们看代码 arthas Arthas 是一款线上监控诊断产品通过全局视角实时查看应用 load、内存、gc、线程的状态信息并能在不修改应用代码的情况下对业务问题进行诊断包括查看方法调用的出入参、异常监测方法执行耗时类加载信息等大大提升线上问题排查效率。 下载 curl -O https://arthas.aliyun.com/arthas-boot.jar 运行 java -jar arthas-boot.jar --repo-mirror aliyun --use-http 运行时arthas会提示用户选择哪个Jar服务那么我们选择【1】按1即可。 开始监控。 排查占用最高的线程 thread -n 1 使用arthas可以更快定位问题代码行。 更多使用技巧请参考官方文档 Arthas
http://www.pierceye.com/news/614720/

相关文章:

  • 学技巧网站制作网站建设税率多少
  • 高端网站设计平台网页设计模板的网站
  • 万网云服务器网站上线网站开发开票税率
  • 西安高端网站制作公司网站开发需要哪些知识
  • 不错的网站建设公网站建设产品展示型的
  • 泰安住房和城乡建设局网站东莞网站推广哪家好信息
  • 个人网站制作的选题意义简短干净三字公司起名
  • 网站卡密代理怎么做网站建设有关表格
  • 易语言可以做网站么永久免费linux云主机
  • 什么网站可以免费做视频软件网站广告推广价格
  • 网站建设手机软件黄页88收费吗
  • 郑州网站建设多少钱wordpress分享获得积分
  • 贵阳网站设计模板建设工程监理招标网站
  • 上海专业的网页设计公司百度推广优化怎么做的
  • 河南城乡建设厅网站wordpress 主题 字体
  • 网站编辑的工作内容深圳网站设计公司有哪些
  • 设计深圳网站制作网站建设及维护招聘
  • 网站开发实训新的体会wordpress防止机器人注册
  • 购买的网站如何换背景自建网站如何被百度收录
  • 国外外贸网站手机销售网站制作
  • 海外永久网站众车网是哪家公司网站
  • 上海 网站开发 兼职布吉建设网站
  • 做网站资金来源是什么wordpress模版sns
  • 聊城wap网站建设如何分析网站竞争对手
  • 卓业网站建设flash 网站 收费
  • 两学一做 答题 网站自己做网站买东西
  • 深圳哪家公司做网站好购物网站开发问题域分析
  • 简单个人网站wordpress插件查询
  • 上海做网站搜索一下马来西亚的网站建设的竞争对手的分析
  • 建站优化易下拉系统163邮箱登录注册