服务器远程超出最大连接数常用解决办法
<p>引起该问题的原因在于终端服务的缺 省链接数为2个链接,并且当登录远程桌面后如果不是采用注销方式退出,而是直接关闭远程桌面窗口,那么实际上会话并没有释放掉,而是继续保留在服务器端, 这样就会占用总的链接数,当这个数量达到最大允许值时就会出现上面的提示。 <br />如何避免? <br />一、用注销来退出远程桌面而不是直接关闭窗口 <br />二、限制已断开链接的会话存在时间 <br />1、从终端服务配置中修改 <br />运行-Tscc.msc(终端服务配置)-连接-双击RDP-Tcp或右击-属性-会话-选中第一个的替代用户设置(O)-结束已断开的会话[将默认值“从不”改为一个适当的时间,比如30分钟] <br />2、从组策略修改 <br />开始-运行-gpedit.msc-计算机配置-管理模板-windows组件-终端服务-会话 <br />右边窗口选择 为断开的会话设置时间限制 -选择已启用,选择一个时间 <br />三、增加最多链接数 <br />1、 从终端服务配置中修改:运行-Tscc.msc(终端服务配置)-连接-双击RDP-Tcp或右击-属性,选择“网卡”选项卡-修改“最大连接数”改成你 所需的值,当然这个值不也能太大,否则会占用较多的系统资源。不过这里修改的值好像不起作用,设置成无限制时照样还是会出现本文所说的情况。 <br />2、组策略级别要高于终端服务配置,当启用组策略后终端服务配置中的相应选项会变成灰色不可修改 <br />运行-gpedit.msc-计算机配置-管理模板-Windows组件-终端服务 <br />双击右边的”限制连接数量“-选择”已启用“-填入允许的最大连接数 <br />四、改变远程终端模式 <br />打开“控制面板”,双击“添加删除程序”,单击“添加删除Windows组件”,“组件”,在Windows组件向导对话框中选中“终端服务” , “下一步”,“应用服务器”,“下一步”,然后按照提示即可改变终端服务的模式。 <br />Windows 2000终端服务有2种运行模式: 远程管理模式和应用程序服务器模式。远程管理模式允许系统管理员远程管理服务器,而且只允许2个终端会话同时登录终端服务器。应用程序服务器模式允许用户 运行一个以上应用程序,允许多个用户从终端登录访问服务器。但是,应用终端服务的用户必须有终端服务授权,即必须在90天之内在这个域或工作组中设置终端 服务授权服务器,否则用户需删除应用程序,然后再重新安装。 <br />五、修改本地安全策略 <br />控制面板>>管理工具>>本地安全策略>>本地策略>>安全选项>> <br />1、先找到>>Microsoft网络服务器:在挂起会话之前所需的空闲时间 <br />默认为:15分钟,改为自己所需要的时间(就是登陆后无动作空闲超过多少时间后自动断开) <br />2、然后找到>>网络安全:在超过登录时间后强制注销。默认为:已禁用,一定要改为:已启用 <br /><br />如果已经发生解决办法: <br />1、首先你可以telnet到此主机上(不管你用哪种方法),当然如果能直接操作机器更好,不过直接操作就不必用命令行了,那当然是知道机器超级管理员的密码的情况下,可以使用OpenTelnet来打开远程服务器的Telnet端口。<br />2、Telnet上去后,先看登陆的用户: <br />输入命令:query user <br />系统返回: <br />C:>query user <br />USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME <br />k12update console 1 运行中 2007-3-14 14:57 <br />此时可以看出的可能都不一样,根据具体情况而定。 <br />ID 0 的用户是本地登陆的,ID 1 和 ID 12是3389登陆的用户,前者在运行中,后者已经断开了,但是断开了仍然占用系统资源和通道,我们要把它踢掉。如下进行操作即可。 <br />输入命令:logoff 1 <br />3、如果服务器关闭了telnet功能(这是默认的),还可以通过SqlServer的xp_cmdshell扩展存储过程,使用格式:master.dbo.xp_cmdshell '命令内容',其余可参考第二步。此方式要求有访问xp_cmdshell的权限 <br />上面的办法基本没有用 </p> 看到你說上面的辦法基本都沒用,我也曾經遇到過這種情況,確實很頭疼。說說我的經驗吧:首先確認一下你的服務器是什麼系統?2003、2008還是2012?不同系統的處理方式會有些不同。
如果常規方法都試過了,你可以試試這些:
1. 檢查是否有病毒或惡意程序導致遠程會話異常增多,有時候被黑了別人偷偷登錄也會佔用連接數
2. 嘗試重啟終端服務:
- 在命令提示符下輸入:net stop termservice
- 然後輸入:net start termservice
這相當於強制重置終端服務
3. 如果你有管理員權限,還可以嘗試遠程重啟服務器,當然這是最後的手段
4. 檢查一下你的服務器是否開啟了多用户同時登錄的許可證,一般免費的終端服務授權只有2個用戶
5. 看一下事件查看器裡有沒有什麼異常日誌,也許能發現問題根源
另外,你說的"上面的辦法基本沒有用",具體是哪個環節出問題了?是有時候能登錄有時候不能,還是從來都登錄不進去?
說清楚具體情況,大家才能更好地幫你診斷。你是先排查一下再回來說說結果吧! 感谢楼主和楼上老哥的干货分享啊!
之前我碰到好几次这个问题都急得不行,啥都不懂的时候每次都只能找机房硬重启,耽误业务亏死了都。
给大伙补个实用小技巧哈,要是还没完全锁死连不上的情况,本地开运行输mstsc /admin走管理员模式强制登远程,进去之后手动清掉那些残留的断开会话就行,比重启服务还快。要是是云服务器的话就更方便了,直接走控制台的VNC远程入口进去操作,完全不用瞎折腾~
頁:
[1]