主机系统Azure- WorkerRole无法访问角色

rsa*_*tos 7 azure azure-worker-roles

我正在使用Worker Role机器(Medium - > 2 Core with 3,5 GB of Ram)来完成大量工作,我可以使用100%的CPU(两个内核)和85%的RAM.

在这项工作中,每个花费大约20分钟/ 40分钟,Azure认为机器不健康并停止我的所有工作.在Portal中,我看到我的worker实例收到消息"等待状态(主机系统无法访问角色).

任何人都可以知道一个不包括的工作:1)使用更强大的完整角色与我不会使用的核心2)尝试通过我的应用程序减少CPU使用率(100%CPU使用率是我们想要使用的)

在此先感谢瑞

bor*_*rel 0

尝试这个:

Thread.CurrentThread.Priority = ThreadPriority.BelowNormal
Run Code Online (Sandbox Code Playgroud)

也许其他一些东西(进程、线程)也需要较低的优先级,但这应该使 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
Run Code Online (Sandbox Code Playgroud)

您可以设置辅助角色当前进程的优先级,但这可能依赖于其他进程,因此请注意,最好将要求较高的进程的优先级设置得较低,这不会减慢速度,除非还有其他工作要做变形的

Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.AboveNormal
Run Code Online (Sandbox Code Playgroud)