7

我正在使用 Worker Role 机器(Medium -> 2 Cores with 3,5 GB of Ram)做大量工作,我能够使用 100% 的 CPU(两个内核)和 85% 的 RAM。

在这项工作期间,每个大约需要 20 分钟/ 40 分钟,Azure 认为机器不健康并停止了我的所有工作。在门户中,我看到我的工作实例收到消息“等待状态(主机系统无法访问角色)。

任何人都可以知道不包括以下内容的解决方法:1)使用更强大的完整角色与我不会使用的核心 2)尝试减少我的应用程序的 CPU 使用率(100% 的 CPU 使用率是我们想要使用的)

预先感谢瑞

4

2 回答 2

0

这也影响了我在 Windows Azure 中运行的服务。我刚刚尝试手动将 WaAppAgent 的优先级设置为高。希望这会有所帮助。

但实际上这不应该是我的问题。有时我的数据库以 100% 的 CPU 运行,而这实际上是最糟糕的重启时间。

我真的不想过度配置资源,只是为了让一些心跳感到高兴。虚拟机实例是否也有心跳事件?也许解决方案是切换到使用 VM 而不是使用 PaaS 角色?

于 2013-11-17T23:35:58.877 回答
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
于 2013-07-18T17:35:57.767 回答