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

自微网站首页什么是小程序商城

自微网站首页,什么是小程序商城,搜索引擎优化的含义,国内免费plmCPU 使用率在系统监控中是一个非常重要的指标。对于大多数 Web 应用来说#xff0c;它们往往是 IO 密集型的#xff0c;因此只会在某些时刻可能会出现 CPU 突然飙升的情况#xff0c;随后很快就恢复正常。然而#xff0c;当收到报警并想要排查问题时#xff0c;CPU 飙升的…CPU 使用率在系统监控中是一个非常重要的指标。对于大多数 Web 应用来说它们往往是 IO 密集型的因此只会在某些时刻可能会出现 CPU 突然飙升的情况随后很快就恢复正常。然而当收到报警并想要排查问题时CPU 飙升的情况可能已经过去无法直接查看当时 Java 进程内的线程堆栈信息。 为了解决这个问题本文实现了一个小工具它在 CPU 飙升时自动保存堆栈信息方便后续问题的追踪。 该工具实现了两个主要功能 当 CPU 使用率达到预设的阈值时自动保存当前 Java 进程的线程堆栈信息输出占用 CPU 使用率最高的线程 ID。 本文选择在 Linux 系统上实现这个工具因为大多数应用都是部署在 Linux 环境中本来想实现一个 MacOS 版本的脚本但捣鼓了半天由于格式以及函数存在差异所以就没继续纠结了 脚本如下 #!/bin/bash if [ $# -ne 1 ]; thenecho Usage: $0 j_pidexit 1 fij_pid$1 threshold90while true; docpu_info$(ps -p $j_pid -o %cpu)cpu_usage$(sed s/%//g $cpu_info)current_time$(date %Y-%m-%d %H:%M:%S)echo [-----$current_time] Current CPU Usage: $cpu_usage%if [ $(echo $cpu_usage $threshold | bc -q) -eq 1 ]; thenthread_id$(top -b -n 1 -H -p $j_pid | grep -E ^\s*[0-9] | sort -k9 -r | head -n 1 | awk {print $1})echo [-----$current_time] Detected! PID: $j_pid ; Thread ID: $thread_idjstack_output$(jstack -l $j_pid)jstack_filenamejstack_$(date %Y%m%d%H%M%S).txtecho $jstack_output $jstack_filenameecho [$current_time] jstack_filename: $jstack_filenamefisleep 10 done 可以看看效果这是模拟的消耗 CPU 的 Java 代码 /*** author dongguabai* date 2023-07-21 13:11*/ public class Test {public static void doSth() {while (true) {double x Math.random() * Math.random();}}public static void main(String[] args) {new Thread(new Runnable() {Overridepublic void run() {doSth();}}, highcpu_thread).start();} }执行 Java 代码 [rootMiWiFi-R4CM-srv javaTest]# javac Test.java [rootMiWiFi-R4CM-srv javaTest]# java Test执行脚本 [rootMiWiFi-R4CM-srv javaTest]# sh monitor.sh 9581 [-----2023-07-21 01:37:12] Current CPU Usage: 99.3% [-----2023-07-21 01:37:12] Detected! PID: 9581 ; Thread ID: 9590 [2023-07-21 01:37:12] jstack_filename: jstack_20230721013713.txt查看线程 ID 查看线程堆栈 Attach Listener #9 daemon prio9 os_prio0 tid0xb768fc00 nid0x25a0 waiting on condition [0x00000000]java.lang.Thread.State: RUNNABLEDestroyJavaVM #8 prio5 os_prio0 tid0xb7607400 nid0x256e waiting on condition [0x00000000]java.lang.Thread.State: RUNNABLEhighcpu_thread #7 prio5 os_prio0 tid0xb768ec00 nid0x2576 runnable [0xa4bb8000]java.lang.Thread.State: RUNNABLEat Test.doSth(Test.java:13)at Test$1.run(Test.java:20)at java.lang.Thread.run(Thread.java:748)可以看到效果还是可以的。 注意事项 在生产环境中使用此工具时需要注意以下几点 jstack 命令可能对系统性能产生一定影响需要谨慎使用并避免频繁执行 如果 Java 进程非常大有很多线程那么收集线程堆栈信息的操作可能会耗费较多的系统资源触发脚本时 Java 进程本身已经处于高负载状态运行jstack命令可能会导致 Java 进程的响应时间增加最好设置一个触发阈值频繁地运行 jstack 命令收集线程堆栈信息可能会在一定程度上增加系统负担 脚本最好保存在一个不容易被意外杀掉的地方以确保在 CPU 飙升时能正常执行。在应用刚启动的时候可能由于初始化等操作导致短暂的 CPU 飙升因此脚本可设置延迟执行避免误报。
http://www.hkea.cn/news/14397106/

相关文章:

  • 张家港市住房城乡建设局网站访问网站出来的是目录
  • 网站备案号密码2022年楼市大爆发
  • 音乐相册制作网站广告营销留电话网站
  • 建设邮费自己的网站 要不要购买服务器的律师微网站建设
  • 网站配色模板html制作网页代码模板
  • seo站长工具推广平台网站建设活动广告
  • html5 网站 代码运城盐湖区姚孟信通网站开发中心
  • 永州网站推广东莞制作网站建设的公司
  • 制作一个网站的步骤百科网站程序
  • 浩博建设集团网站广州易网网站建设
  • 长沙有效的可以看的网站大型网站建设哪家好
  • 政务服务网站建设运行情况青州网站建设青州
  • 三五互联做的网站怎么样网页设计制作项目
  • 怎么样搭建qq号网站ui设计培训需要多少费用
  • 网站开发 报价单seo 网站
  • 网站建设论文开题报告范文做微商都去哪些网站留言
  • 网站做了301重定向域名会自动跳转吗wordpress 自动采集
  • 个人网站备案怎么样才能简单的过凡科是免费做网站吗
  • 临沂企业自助建站怎么查看网站死链
  • 个人 可以做社交网站施工企业经营情况汇报材料
  • 扬州网站建设费用建设了湛江市志愿服务网站
  • wordpress 写作工具商丘seo外包
  • 如何创建网站详细步骤做网站得叫什么
  • 郑州网站建设公司排行代客做网站
  • 上海高端网站建设网站备案的具体流程图
  • 网站建设和网络维护昆明网页设计公司排行榜
  • 优秀的定制网站建设提供商东莞网站建设 石化
  • 公司网站建设哪个最好网页制作咨询公司
  • 深圳网站建设排行怎么做盗版视频网站吗
  • 专业公司网站 南通想做代理怎么找商家