

Measuring memory and CPU usage in Power BI during dataset refresh
source link: https://blog.crossjoin.co.uk/2023/04/30/measuring-memory-and-cpu-usage-in-power-bi-during-dataset-refresh/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Measuring memory and CPU usage in Power BI during dataset refresh
Microsoft Power BI, Analysis Services, DAX, M, MDX, Power Query, Power Pivot and Excel
This post is a follow-up to my recent post on identifying CPU and memory-intensive Power Query queries in Power BI. In that post I pointed out that Profiler and Log Analytics now gives you information on the CPU and memory used by an individual Power Query query when importing data into Power BI. What I didn’t notice when I wrote that post is that there is also now information available in Profiler and Log Analytics that tells you about peak memory and CPU usage across all Power Query queries for a single refresh in the Power BI Service, as well as memory usage for the refresh as a whole.
Using the same dataset from my previous post, I ran a Profiler trace on the workspace and captured the Command Begin and Command End events while I refreshed the dataset. Here’s what Profiler shows for the Command End event:
In the upper pane, the Duration column tells you how long the refresh took in milliseconds and the CPUTime column tells you how much CPU was used by both the Analysis Services engine and the Power Query engine during the refresh. This is not new, and I wrote about the CPUTime column last year here.
In the lower pane where the TMSL for the refresh operation is shown – this is the text from the TextData column – underneath the TMSL there are three new values shown:
- PeakMemory shows the maximum amount of memory used during the refresh operation. This includes memory used by the Analysis Services engine and the Power Query engine.
- MashupCPUTime shows the total amount of CPU used by the Power Query engine for all Power Query queries used to import data into the dataset. This value will always be less than the value shown in the CPUTime column in the upper pane.
- MashupPeakMemory shows the maximum amount of memory used during the refresh operation by just the Power Query engine across all query evaluations. It’s important to note that this value may not be entirely accurate since the memory usage values, and therefore the peaks, are captured asynchronously so there could be higher peaks that are not detected.
This new information should be extremely useful for troubleshooting refresh failures that are caused by excessive memory consumption.
[Thanks to Akshai Mirchandani for this information]
Published by Chris Webb
My name is Chris Webb, and I work on the Power BI CAT team at Microsoft. I blog about Power BI, Power Query, SQL Server Analysis Services, Azure Analysis Services and Excel. View all posts by Chris Webb
Like this:
Recommend
-
11
Measuring Memory Usage in Rust @matklad, Dec 4, 2020 rust-analyzer is a new "IDE backend" for the Rust programming language. Support rust-analyzer on
-
10
Are you measuring Linux web server memory usage correctly?This article was first published in 2014. Afterwhich, there was a welcome change to the Linux kernel in 2016;as mentioned in the 2017 article:
-
12
Cancelling Power BI Dataset Refreshes With The Enhanced Refresh API The most exciting (at least for me) feature in the new Enhanced Refresh API (
-
12
Monitoring Power Query Online Memory And CPU Usage Power Query Online is, as the name suggests, the online version of Power Query – it’s what you use when you’re developing Power BI Dataflows...
-
10
Measuring Power Query CPU Usage During Power BI Dataset Refresh Some time ago I wrote a
-
10
Gateways And Measuring Power Query CPU Usage During Power BI Dataset Refresh After last week’s post on measuring
-
5
Speed Up Power BI Dataset Refresh Performance In Premium Or PPU By Changing The “Parallel Loading Of Tables” Setting Do you have a a large dataset in Power BI Premium or Premium Per User?...
-
12
Web.Contents, Text Concatenation And Dataset Refresh Errors In Power BI/Power Query One of the most popular topics I’ve ever written about here is the dataset refresh errors you get with dynam...
-
5
Log Analytics · M ·
-
14
Fabric · Log Analytics ·
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK