我正在使用Worker Role机器(Medium - > 2 Core和3,5 GB Ram)进行大量工作,我可以使用100%的CPU(两个核心)和85 RAM的百分比。
在这项工作中,每个人花费大约20分钟/ 40分钟,Azure认为机器不健康并停止我的所有工作。 在Portal中,我看到我的worker实例收到消息“等待状态(主机系统无法访问角色)。
任何人都可以知道一项不包括的工作: 1)使用更强大的完整角色与我不会使用的核心 2)尝试通过我的应用程序减少CPU使用率(100%CPU使用率是我们想要使用的)
提前致谢 锐
答案 0 :(得分:0)
试试这个:
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
答案 1 :(得分:0)
这也影响了我在Windows Azure中运行的服务。 我刚尝试手动将WaAppAgent的优先级设置为高。希望这会有所帮助。
但实际上这不应该是我的问题。有时我的数据库以100%的CPU运行,实际上这是重启的最短时间。
我真的不想过度配置资源,所以一些心跳会很高兴。 VM实例也有心跳事件吗?也许解决方案是切换到使用VM而不是使用PaaS角色?