多线程调用ch.ethz.ssh2.Connection执行shell任务时有的执行丢失情况解决

     最近项目出现一个问题,在使用多线程调用开源ch.ethz.ssh2.Connection执行shell任务时有的任务没有执行,导致没有获取数据。

后来经过定位发现线程池同时间最大运行数设置的是15,而liunx默认是10,就导致了一部分任务的丢失。(现在记录下,供出现同样此问题的童鞋们一个参考)


解决:java里面线程池同时间执行的最大线程数,不能够大于liunx链接ssh最大数


使用root用户登录java工程安装的liunx机器

vi  /etc/ssh/sshd_config

默认是#MaxStartups 10

可以改成  MaxStartups 40

改完后记得重启

service sshd restart












你可能感兴趣的:(多线程调用ch.ethz.ssh2.Connection执行shell任务时有的执行丢失情况解决)