我使用工作者角色机器(中等的CPU2核心和3.5 GB的Ram)来做大量的工作,并且我能够使用100%的-> (两个核心)和85%的RAM.
在这项工作中,每项工作大约需要20分钟/ 40分钟Azure认为机器不健康并停止我的所有工作。在门户中,我看到我的worker实例收到消息“正在等待状态(主机系统无法访问角色)”。
是否有人知道不包括以下内容的解决方法: 1)对我不会使用的内核使用更强大的角色2)尝试减少我的应用程序的CPU使用率(100%的CPU使用率是我们想要使用的)
先谢谢你,瑞
发布于 2013-07-19 01:35:58
试试这个:
Thread.CurrentThread.Priority = ThreadPriority.BelowNormal
也许其他一些东西(进程、线程)也需要较低的优先级,但这应该会使cpu利用率保持在100%
对于(外部)进程,使用以下代码启动它们(这是vb,但您应该能够将其转换为您的语言
Dim myprocess As New System.Diagnostics.Process()
myprocess.StartInfo.FileName = "C:\the\path\to\the\the\process.exe"
myprocess.Start()
myprocess.PriorityClass = ProcessPriorityClass.BelowNormal
您可以设置工作者角色的当前进程的优先级,但这可能依赖于其他进程,因此要小心,最好将要求较高的进程的优先级设置得更低,这不会减慢它,除非有其他工作要执行
Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.AboveNormal
发布于 2013-11-18 07:35:59
这也影响了我在Windows Azure中运行的服务。我刚刚尝试手动将WaAppAgent的优先级设置为高。希望这能有所帮助。
但实际上这不应该是我的问题。有时我的数据库在100%的CPU上运行,这真的是重启可能最糟糕的时候。
我真的不想过多地提供资源,只是为了让一些心跳变得快乐。VM实例是否也有心跳事件?也许解决方案是切换到使用VM而不是使用PaaS角色?
https://stackoverflow.com/questions/17695221
复制相似问题