下面是详细步骤:1. 首先确定进程的 ID ,可以使用 jps -v 或者 top 命令直接查看2. 查看该进程中哪个线程占用大量 CPU,执行 top -H -p [PID] 结果如下:可以发现编号为 350xx 的共有 9 个线程占用了 100% 的 CPU,好,接下来咱们随便取一个线程 ID ,假设我们想看编号为 35053 这个线程。首先将 35053 转成 16 进制是 88ED (可以用开源中国在线工具转换)3. 接下来我们将进程中的所有线程输出到一个文件中,执行:jstack [PID] > jstack.txt4. 在进程中查找对应的线程 ID,执行:cat jstack.txt | grep -i 88ED结果是:"HTTP Request From : /xxxx/blog/323432(120.27.143.239)" #266 daemon prio=5 os_prio=0 tid=0x00007fcda4146800 nid=0x88e
需求缘由        最近接收了一个新的工具业务:ipublish发布系统,刚接手这个业务的时候,发现每次发布新的代码 需要到群里告知大家,我要停服务几分钟,准备更新代码啦。这尼玛 哪个公司都不敢这么牛逼的和用户说,我们网站要停服务几分钟,准备发布的。        基于这个原因我要对ipublish进行优化,如何优雅的发布代码,而用户是无感的功能需求发布系统自己更新迭代需求的过程中,不能停止服务,对用户是无感知的实现设计方案其实这个问题基本都知道解决方案,我这里就王婆卖瓜自卖自夸吧,来一张架构图架构非常简单,通过一个LB作为反向代理,然后将所有请求转发到 后端的tomat ,后端有两个tomcat ,但是提供服务的只能是某一个tomcat操作步骤前提条件LB 使用的Nginx 监听 80端口配置两个tomcat 一个 8080
  • 微信公众号 微信小程序
  • 微信机器人
  • 群1:1046090432
  • 群2:585567981