首页 > 编程知识 正文

linux连接超时,linux设置ssh连接超时时间

时间:2023-05-04 03:07:31 阅读:60198 作者:3298

这个问题很有趣。 因为我想很了解自己。 我做了几次测试,发现了有趣的结果。 即使连接服务器并等待60秒,它也总是被清理。 即使打开100个连接,他们也会在60秒后被清理。 即使打开101个连接,也会开始看到你说的州连接。 (我以前也见过。 无论fin_timeout的设置如何,它们似乎持续约120秒或2xMSL )或60秒。 在内核源代码中进行了一些挖掘,找到了我想的“原因”。 一些代码似乎试图限制每“周期”发生的套接字产量。 循环频率本身是基于HZ设定的:

Linux-source-2.6.38/include/net/inet _ time wait _ sock.h :

35 # define inet _ twdr _ recycle _ slots _ log 5

36 # define inet _ twdr _ recycle _ slots (1inet _ twdr _ recycle _ slots _ log ) )。

37

38 /*

39 * If time 4sec,it is 'slow' path,no recycling is required,40 * sothatweselectticktogetrangeabout4seconds。

41 */

42 #if HZ=16 || HZ 4096

43 # error unsupported 3360 Hz=16 orhz 4096

44 #elif HZ=32

45 # define inet _ twdr _ recycle _ tick (52-inet _ twdr _ recycle _ slots _ log ) )。

46 #elif HZ=64

47 # define inet _ twdr _ recycle _ tick (62-inet _ twdr _ recycle _ slots _ log ) )。

48 #elif HZ=128

49 # define inet _ twdr _ recycle _ tick (72-inet _ twdr _ recycle _ slots _ log ) )。

50 #elif HZ=256

51 # define inet _ twdr _ recycle _ tick (82-inet _ twdr _ recycle _ slots _ log ) )。

52 #elif HZ=512

53 # define inet _ twdr _ recycle _ tick (92-inet _ twdr _ recycle _ slots _ log )

54 #elif HZ=1024

55 # define inet _ twdr _ recycle _ tick (102-inet _ twdr _ recycle _ slots _ log ) )。

56 #elif HZ=2048

57 # define inet _ twdr _ recycle _ tick (112-inet _ twdr _ recycle _ slots _ log ) )。

58 #else

59 # define inet _ twdr _ recycle _ tick (12-inet _ twdr _ recycle _ slots _ log ) )。

60 #endif

61

62/* time _ waitreapingmechanism.* /

63 # define inet _ twdr _ tw kill _ slots8/* pleasekeepthisapowerof2. * /

thenumberofslotsisalsosethere :

65 # define inet _ twdr _ tw kill _ quota 100

在实际的timewait代码中,可以看到您已停止使用引号来杀死TIME_WAIT连接的位置。 如果已经做得太多了,如下所示。

Linux-source-2.6.38/net/IP v4/inet _ time wait _ sock.c :

213 staticintinet _ twdr _ do _ tw kill _ work (struct inet _ time wait _ death _ row * twdr,214 const int slot )

215 {

.

240 if (killed inet _ twdr _ tw kill _ quota ) {

241 ret=1;

242 break;

243 }

有关设置HZ的原因,请参阅此处。

http://kerneltrap.org/node/5411,但增加这一点并不罕见。 但是,我认为通常启用tw_reuse/recycle来绕过这个桶/配额机制是很常见的。 我读了这个很困惑。 我认为增加HZ会成为更安全、更清洁的解决方案。 发表了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。