在WIN 2000 SERVER上发布了IIS和组件服务,运行ASP+COM+SQL SERVER的架构,出现dllhost.exe占用cpu资源100%的情况。高分请教!

javastone 2002-05-20 10:35:34
在WIN 2000 SERVER上发布了IIS和组件服务,运行ASP+COM+SQL SERVER的架构,在系统运行一段时间以后出现dllhost.exe占用cpu资源100%的情况。导致系统近乎崩溃。这时采用手工杀掉dllhost.exe的方法,可使系统恢复正常工作。
请问高手,如何在IIS或组件服务上设置,或采用其他办法可以避免这种现象发生。
...全文
61 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
jincai78 2002-08-05
  • 打赏
  • 举报
回复
解决了吗?
I meet the same question!

bessxq 2002-07-20
  • 打赏
  • 举报
回复
到底解决了吗?
wqb 2002-06-23
  • 打赏
  • 举报
回复
是不是因为设成立 服务器应用程序 的原因?
acptvc 2002-06-23
  • 打赏
  • 举报
回复
根据我的了解,有以下几点提醒各位注意:

1.注意更新使用最新的MDAC:http://www.microsoft.com/data/
2.如果使用VB写COM+组件要保证:
1)Please build your VB project with "Unattended execution" and "retained in memory" properties
2) Q193036 BUG "On Error Resume Next" enters infinite loop in native code
3) Q193871 Passing ADO Recordsets in Visual Basic Procedures
3. Q286350 HOWTO: use AutoDump+ to troubleshoot "Hangs" and crashes

希望对各位有所帮助和提示!

- 微软全球技术中心 VC技术支持

本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查
(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
luerdong 2002-06-19
  • 打赏
  • 举报
回复
wqb(啊喂)大侠:今天我遇到了完全相同的问题,我的每个组件都设置支持事务,也调用了SetComplete。重起两次后,dllhost仍然占用cpu资源100%,然后进入组件服务控制台,发现COM+应用程序中,System Application和我建立的另一个应用程序均处于运行状态,将两个全部手工关闭后,dllhost恢复正常。System Application运行应该是正常的,可重启后自己的COM+应用程序为什么还在运行我就不清楚了(我是本机调用)。我也有点晕了。。。
wqb 2002-06-19
  • 打赏
  • 举报
回复

javastone (顽石)兄:再接宝地一用,谢谢!
luerdong(led)兄:
这是我的代码,不过这个类设成了不支持事务。被一个需要新建事务的类调用
Public Function GetFactoryList() As Recordset
Dim Rs As Recordset, strSQL As String
On Error GoTo ErrShow
strSQL = "SELECT FactoryID,Name FROM bjds.Factory WHERE State = 0 "
Set Rs = CreateObject("ADODB.Recordset")
With Rs
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockBatchOptimistic
.Source = strSQL
.ActiveConnection = mstrConnectString'已有的连接字符串
.Open
End With

Set Rs.ActiveConnection = Nothing
If mblnInMTS Then mobjCTX.SetComplete '不支持事务,这一句不会执行
Set GetFactoryList = Rs
Exit Function
ErrShow:
If mblnInMTS Then mobjCTX.SetAbort
Err.Raise Number:=Err.Number, Description:=Err.Description, _
Source:=Err.Source
End Function
事务的超时没有进行设置,应该是默认值。另外开机后我的Msdtc会占用绝大部分的cpu资源,也是过一段时间后才恢复。
wqb 2002-06-18
  • 打赏
  • 举报
回复
javastone (顽石)兄:再接宝地一用,谢谢!
luerdong(led)兄:
这是我的代码,不过这个类设成了不支持事务。被一个需要新建事务的类调用
Public Function GetFactoryList() As Recordset
Dim Rs As Recordset, strSQL As String
On Error GoTo ErrShow
strSQL = "SELECT FactoryID,Name FROM bjds.Factory WHERE State = 0 "
Set Rs = CreateObject("ADODB.Recordset")
With Rs
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockBatchOptimistic
.Source = strSQL
.ActiveConnection = mstrConnectString'已有的连接字符串
.Open
End With

Set Rs.ActiveConnection = Nothing
If mblnInMTS Then mobjCTX.SetComplete '不支持事务,这一句不会执行
Set GetFactoryList = Rs
Exit Function
ErrShow:
If mblnInMTS Then mobjCTX.SetAbort
Err.Raise Number:=Err.Number, Description:=Err.Description, _
Source:=Err.Source
End Function
事务的超时没有进行设置,应该是默认值。另外开机后我的Msdtc会占用绝大部分的cpu资源,也是过一段时间后才恢复。
luerdong 2002-06-17
  • 打赏
  • 举报
回复
组件是什么编写的呢?如果是VB的话,有没有确认每个方法都进行SetComplete了?另外,如果使用了事务,有没有设置事务的超时?
wqb 2002-06-17
  • 打赏
  • 举报
回复
我在2000 pro中也遇到了类似的问题,不同的是我是用vb编写Com+组件,提供查询方法返回一个记录集。在vb中调用速度很快。但在iis中调用时,DllHost会占用全部cpu资源,而且DllHost进程无法强行关闭,整个页面也无法显示。关闭iis后很长一段时间才资源才会恢复。
wjames2000 2002-05-25
  • 打赏
  • 举报
回复
在2000种我没有碰到过,几年前在NT4.0+iis4+sp3中是遇到过的,情况和你的相类似,后来打了SP6包就好了,具体原因我也搞不清楚。可能是Microsoft的Bug吧。
javastone 2002-05-24
  • 打赏
  • 举报
回复
大家好,感谢大家的发言,我在检查过我的程序后,一般在ASP页面中使用
server.createobject之后,使用set nothing将COM组件释放。但仍是这样的情况。

arxing 2002-05-23
  • 打赏
  • 举报
回复
创建一个可池化的对象,并且确信你的每个调用之后都SetComplete。
不过COM+的JIT好像不大灵敏,某些时候激活要等很久直到超时(找原因中),但再次刷新后马上就可以了。
arxing 2002-05-23
  • 打赏
  • 举报
回复
用COM+吧,这样你创建的只是虚拟对象,随时可以停掉。
pbfan 2002-05-23
  • 打赏
  • 举报
回复
gz
phonlee 2002-05-21
  • 打赏
  • 举报
回复
createobject的东西有没有释放掉。
总之是资源的泄漏:内存或者对象的引用。

:)

其它的指标如何变化呢??


zxs218 2002-05-20
  • 打赏
  • 举报
回复
我想这种情况是你的程序中出现了错误。有没有死循环之类的操作。
bessxq 2002-05-20
  • 打赏
  • 举报
回复
解决了吗?

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧