网站开发属于什么软件,如何用文件传输协议登陆网站,ps在线网站,wordpress 积分插件传统的方法 【top】 查看所有进程占系统CPU的排序#xff0c;定位是哪个进程搞的鬼。PID那一列就是进程号。 【top -Hp pid】 定位进程中使用 CPU 最高的线程tid 【printf ‘0x%x’ tid】 线程 tid 转化 16 进制,例如printf ‘0x%x’ 11882 得到16进制的 0x2e6a 【jstack…传统的方法 【top】 查看所有进程占系统CPU的排序定位是哪个进程搞的鬼。PID那一列就是进程号。 【top -Hp pid】 定位进程中使用 CPU 最高的线程tid 【printf ‘0x%x’ tid】 线程 tid 转化 16 进制,例如printf ‘0x%x’ 11882 得到16进制的 0x2e6a 【jstack pid | grep tid 】找到线程堆栈例如jstack 11763 | grep 0x2e6a -A 30 查问题时会要多次上面的操作以分析确定问题这个过程太繁琐太慢了。 期望整合上面的过程成一个脚本这样一行命令就可以自动化地搞定。 脚本方法 【wget --no-check-certificate https://gitee.com/fightx/useful-scripts/raw/dev-2.x/bin/show-busy-java-threads】 这条命令使用wget工具从gitee下载一个名为show-busy-java-threads的脚本文件。--no-check-certificate选项表示不检查SSL证书的有效性这在某些情况下可能是必要的但通常不推荐使用因为它可能会导致安全风险。 【head -n 10 show-busy-java-threads】 检查下载下来的内容是否是脚本 【chmod x show-busy-java-threads】 这条命令使用chmod工具赋予刚刚下载的show-busy-java-threads脚本可执行权限使得它可以在命令行中直接运行。 【./show-busy-java-threads】 这条命令执行刚刚下载并赋予可执行权限的show-busy-java-threads脚本。这个脚本的作用是查找并显示系统中正在运行的Java进程中占用CPU资源最多的前5个线程。 分析步骤 识别高CPU消耗线程 查看输出中每个线程的CPU占用百分比例如Busy(98.2%)。 高CPU消耗的线程通常是性能瓶颈的潜在来源。 查看线程ID和名称 每个线程都有一个线程ID例如29385和名称例如main。 这些信息有助于你识别具体的线程。 分析线程状态 查看线程状态例如RUNNABLE、TIMED_WAITING。 RUNNABLE状态表示线程正在运行或准备运行而TIMED_WAITING状态表示线程在等待某个条件。 检查线程堆栈 查看线程堆栈跟踪例如at com.example.MyClass.busyMethod(MyClass.java:42)。 堆栈跟踪显示了线程当前执行的方法和代码行有助于定位问题代码。 定位问题代码 根据堆栈跟踪信息找到具体的Java类和方法。 检查这些方法的实现看看是否有优化的空间或潜在的性能问题。 更多用法参照docs/java.md · fightx/useful-scripts - Gitee.com 阿里开源方法 【curl -O https://arthas.aliyun.com/arthas-boot.jar】 下载jar包 【java -jar arthas-boot.jar】 启用 在启动Arthas时它会列出当前系统中正在运行的Java进程并要求你选择一个进程进行监控。你需要输入进程的序列号例如输入1选择第一个进程然后按回车键。 【thread -n 5】 进一步分析【thread id】 如果你发现某些线程的CPU使用率异常高可以进一步分析这些线程的堆栈跟踪以确定具体的性能瓶颈。例如你可以使用以下命令来查看特定线程的堆栈跟踪 其他命令参考官网arthas: Arthas阿尔萨斯是阿里巴巴开源的 Java 诊断工具 点赞收藏加关注
下一期创作内容通过上述步骤找出有问题的代码之后观察到线程栈之后。怎么根据具体问题来具体分析。