TCP 协议高级功能和网卡驱动不兼容导致蓝屏的解决方法
来源:互联网 发布:网络电视怎么看电视 编辑:程序博客网 时间:2024/04/29 10:57
TCP 协议高级功能和网卡驱动不兼容导致蓝屏的解决方法
上周发现大量服务器上的服务在从客户端接受大的数据包时,会发生系统蓝屏死机的情况,通过大量的测试和调试发现规律如下:
1、接收大于一定量(不同机器不同,一般是 6M)的数据时,服务会卡死在系统的 recv 函数调用中,此时服务无法正常停止,如果杀进程则系统蓝屏
2、一些情况下,在调用 recv 函数接收大数据量时,系统直接蓝屏死掉然后自动重新启动;
3、多次调用 recv 每次接收部分数据来接收总量同样多的数据时,则没有问题,但是效率极其低下,并且每次接收的数据量要控制在一个量以下,不同机器不同,一般是 1M 以下
4、采用异步套接字 recv 大量的数据则没有任何问题,并且效率没有任何影响;但是在个别机器上有连接丢失的情况发生,但是客户端的 recv 函数检测不到连接断开;
出差回来后,从方案实施部了解到该问题是因为网卡驱动程序和微软提供的TCP 高级特性不兼容,公司使用的HP服务器采用的是 Boardcom 的网卡,使用的是也是 Boardcom 的网卡驱动程序,在 Windows Server 2003 打上最新的微软补丁之后,系统开始出现蓝屏,将 MiniDump 文件发送给微软的工程师获得的答案是驱动程序不兼容引起的,在网卡驱动程序中释放之前已经释放的系统分页内存导致系统蓝屏死机,解决办法是:
1、更新网卡的驱动程序到最新版,同时 HP 的网站上已经说明了该现象并且新的服务器已经解决该问题;
2、禁用TCP的高级特性来网卡驱动进入有问题的代码,只需要修改注册表中的键值并重新启动服务器即可,脚本如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnableTCPChimney"=dword:00000000
"EnableTCPA"=dword:00000000
"EnableRSS"=dword:00000000
因为客户哪里大量使用的是 DELL 的服务器,DELL 的服务器还没有解决该问题,所以需要“打补丁”禁用TCP的高级功能:接收端可伸缩、烟囱等;
不采用升级网卡驱动程序是因为服务器分散到各个城市只能远程桌面管理,一旦安装驱动失败,可能服务器就无法启动,需要到不同的城市去维护服务器,因此还是相信修改注册表重启更加保险一些,至少在一个特定的地方可以远程桌面维护所有的服务器;
唉,程序开发员变成了系统维护员了!
不过还是觉得远程桌面的兼容性和稳定性实在是很好呢。
- TCP 协议高级功能和网卡驱动不兼容导致蓝屏的解决方法
- photoshop CS6 AMD独立显卡不兼容导致笔记本蓝屏
- win7设置虚拟WiFi蓝屏及无线网卡驱动出现感叹号的解决方法
- T60 X60自装XP没有串口硬盘驱动导致蓝屏的解决方法
- 硬件原因导致电脑蓝屏的解决方法
- RealTek RTL8111C网卡真的和VMware软件不兼容。
- 教你解决linux与r8168网卡不兼容导致网络时断时续的问题
- 教你解决LINUX(UBUNTU11.10)与R8168网卡不兼容导致网络时断时续的问题
- QQ和键盘的冲突导致蓝屏
- 通过TCP协议传输数据时出现地址协议不兼容的问题
- WDK驱动开发中WCSSTR导致的蓝屏
- 常见原因导致的电脑蓝屏的解决方法
- 硬盘导致的电脑系统蓝屏故障的解决方法
- Ubuntu 16.04自带驱动不兼容--r8168网卡
- xp sp2与iis组件的不兼容,导致500错误的解决方法
- TCP/IP协议在Linux2.4上的实现 之 网卡驱动篇
- TCP/IP协议在Linux2.4上的实现 之 网卡驱动篇二
- ie和firefox不兼容的解决方法集合
- openfire 3.8.2 源码部署 /开发配置 / 二次开发
- Android 小知识(慢慢积累)
- thrift
- 高并发系统的开发注意事项
- busybox的init初始化进程
- TCP 协议高级功能和网卡驱动不兼容导致蓝屏的解决方法
- dojo样式不生效
- jquery ajax 回调函数的值alert出来[object Object] 解决方法
- C指针原理(46)-C++-boost(日期时间)
- GSM-呼叫重建
- IOS设备唯一号
- Erlang的gen_server的terminate使用的几点总结
- 如何完整卸载magento
- 设计模式介绍之三:命令模式(command)