searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

启动多个进程的问题排查

2022-12-23 06:24:37
55
0

背景

运行在操作系统的一个 agent ,配置 systemd 开机启动, 

ps -ef | grep '进程名' | wc -l

发现系统内启动了十几个进程,

ps -eLf | grep '进程名' | wc -l

发现有 70 多个线程。

分析

需要分析进程从哪里来的,看了

1、分析 systemd 的 service 文件,如下图,正常的 Service 配置:

2、分析 java 启动程序,java 启动命令如下;

start

stop

3、分析启动 main 方法;

发现启动过程中,有同步创建 HttpClient 对象,向外部发送请求。

 

结论

1、systemd 和 start.sh 的启动过程都是同步调用,当 HttpClient 无法访问外部系统时,启动发生阻塞;

2、HttpClient 没有限制线程;

0条评论
0 / 1000
朱****斌
10文章数
0粉丝数
朱****斌
10 文章 | 0 粉丝
原创

启动多个进程的问题排查

2022-12-23 06:24:37
55
0

背景

运行在操作系统的一个 agent ,配置 systemd 开机启动, 

ps -ef | grep '进程名' | wc -l

发现系统内启动了十几个进程,

ps -eLf | grep '进程名' | wc -l

发现有 70 多个线程。

分析

需要分析进程从哪里来的,看了

1、分析 systemd 的 service 文件,如下图,正常的 Service 配置:

2、分析 java 启动程序,java 启动命令如下;

start

stop

3、分析启动 main 方法;

发现启动过程中,有同步创建 HttpClient 对象,向外部发送请求。

 

结论

1、systemd 和 start.sh 的启动过程都是同步调用,当 HttpClient 无法访问外部系统时,启动发生阻塞;

2、HttpClient 没有限制线程;

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0