TIME_WAIT在 Mac OS X 上没有通常,当 TCP 连接关闭时,close()首先被调用的那一侧的套接字将保持在该TIME_WAIT状态。
当其中一个对等方是 Mac OS X (Lion) 机器时,如果在 Mac 端首先调用,则在 Mac上不TIME_WAIT列出 by 。然而,似乎插座的实际状态,因为试图调用一次(不使用套接字选项)会导致失败。netstat -anclose()TIME_WAITlisten()SO_REUSEADDRlisten()
等待 2*MSL(Maximum Segment Lifetime,在 Mac OS X Lion 上为 15 秒,由 报告sysctl net.inet.tcp.msl)清除TIME_WAIT状态,并且listen()可以再次调用而不会出错。
为什么我看不到插座TIME_WAIT?
这里有两个简单的 Python 测试程序。
服务器
#!/usr/bin/env python
import socket
HOST = ''
PORT = 50007
l = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
l.bind((HOST, PORT))
l.listen(1)
print("Listening …Run Code Online (Sandbox Code Playgroud) 我有一个 Windows 2008 服务器。它的最大连接积压限制 (TCP) 是 200。有没有办法将这个限制增加到更高的值——比如 1000 或 2000?
在本文中,您将在注册表项下找到要更改的参数的说明:
相关值应该是这些:
我尝试使用不同的值集,例如
和
但无论我做什么,我仍然仅限于 200 个连接的积压。(是的,我在配置更改之间重新启动了服务器。)
有任何想法吗?
我正在使用通过 USB 连接到 Linux 机器的 Seagate Backup Plus 4TB 驱动器。驱动器型号为 ST4000DX000-1CL160。
检查 SMART 属性时,我得到:
$ sudo smartctl -a -d sat /dev/sdb
smartctl 5.41 2011-06-09 r3365 [i686-linux-3.2.0-37-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Device Model: ST4000DX000-1CL160
Serial Number: Z1Z046LE
LU WWN Device Id: 5 000c50 04ec317ca
Firmware Version: CC44
User Capacity: 4.000.787.030.016 bytes [4,00 TB]
Sector Size: 512 bytes logical/physical
Device is: Not in smartctl database [for details use: -P showall]
ATA …Run Code Online (Sandbox Code Playgroud)