1

I am trying to find a way to join the Perf table with the VMProcess table, but there doesn't seem to be anything in common that I can join on.

Basically, I would like to find high resource consuming PIDs. The product we develop uses the same service/executable name for each running instance, so in the Perf table I get InstanceNames like Service#10, Service#24, etc. In the VMProcess table, however, I can get much more granular and sort by ExecutablePath or CommandLine to determine which process is the culprit.

How can I join these two datasets? Or is there perhaps a better way to find process CPU utilization on Azure VM's? I do not want to run perfmon on each VM; I really need something from Log Analytics or Azure Monitor.

I know naming the executable or service uniquely would be a much better solution, but that is not something that the product team has prioritized so I need another way to sort out which PID is consuming the most CPU cycles.

Find High CPU Processes in Azure Log Analytics I thought was the answer, but it doesn't join on the VMProcess table so I still am a bit clueless on which process is consuming the most resources.

Jeremy Caney
  • 7,102
  • 69
  • 48
  • 77
arrrghhh
  • 13
  • 2
  • 1
    Can you add the perf and VM process query to the question so that i can answer more precisely. – AjayKumarGhose Sep 15 '21 at 10:58
  • @AjayKumarGhose-MT - as noted in that linked article, there is a quite long query to get the performance. https://pastebin.com/TtgYz0qY - Find Top processes utilizing CPU Then there is a 'VMProcess' table - in Kusto / LogAnalytics you can see it here - ExecutablePath, CommandLine or Services seem to be the only columns I can definitively tell which process this actually is since we run a lot of processes with the same name, only difference is where the process is started from: VMProcess | project TimeGenerated, Computer, ExecutablePath, CommandLine, Services – arrrghhh May 24 '22 at 21:46

0 Answers0