Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply

Memory leaks in Power BI custom visuals

In the last few days I connected the dots between several requests I received, and I've found that when custom visuals are created and removed frequently in a report, the browser (or the process CefSharp.BrowserSubprocess.exe used by PBI Desktop) grows in memory until it becomes unusable.

The native visuals don't seem affected by that.

Crashing Power BI seems incredibly easy:

  1. Create a table with 10 rows in a new PBIX file
  2. Import the Chiclet slicer custom visual from the store
  3. Create a Chiclet slicer applying the column with 10 rows
  4. Copy and paste the slicer 9 times around the same page
  5. Duplicate Page1
  6. Save the file (just in case)
  7. Open Task Manager and switch back and forth between page 1 and page 2 for a while
    • The process CefSharp.BrowserSubprocess will grow in memory
    • Switch between one page and another will slow down progressively, usually after 2GB of RAM consumed by the process the response time is unmanageable
  8. Publish the file on powerbi.com
  9. Switch back and forth between page 1 and page 2 for a while
    • This time your browser will grow in memory usage...

 

If I use a regular slicer, the issue is not visible. In reality, I see 4-5 KB lost every time I switch between pages, but it's a fraction of the cost of the custom visuals.

I tried with other custom visuals, made by different developers, and I've got the same result.

 

I have seen in Power BI forum several threads related to the presence of the CefSharp.BrowserSubprocess process, but I didn't see an explanation of the reason, which is not really related to that process considering that the issue also happens on a regular browser for published reports.

 

To my eyes, this is some memory leak issue related to custom visuals when the user switch between pages of the same report. But, of course, I could be wrong, so in this case any further information would be useful.

 

Is this something that other noticed?

Any comment from MS?

 

Thanks,

 

Marco

64 REPLIES 64
v-viig
Community Champion
Community Champion

@Anonymous

 

I'm glad to hear that. As far as I know, the fix is going to hit production (powerbi.com) today.

 

@henrikj

 

I'm wondering if you can provide a few extra details:

  • What is the memory usage once Power BI Desktop goes out of memory in your case?
  • What custom visuals do you use?

 

Ignat Vilesov,

Software Engineer

 

Microsoft Power BI Custom Visuals

pbicvsupport@microsoft.com

A quick update on the memory release. I switched pages until the process had allocated 1500 MB. Memory was slowly released during the next hour until 990 MB was allocated and I stopped the test.

 

Opening the report, switching to the most demanding page and waiting one minute results in an allocation of 650 MB after a brief peak of 800 MB. 

 

This report only has 2200 rows of data and the pbix file size is less than 2 MB. 

The memory usage is about 1900 MB after som substanstial page switiching. I tried to test the release of memory (as described by Marco), but unfortunately Windows Update restarted my computer during the night. However, while PBI Desktop still reached 1900 MB, it never became completley unresponsive, just sluggish. A few days ago when I initally tried the new release, it lock up completely.

 

We use two custom visualizations, both developed inhouse. The first is a simple tool tip that uses a visual level filter to show one of maybe fiften strings, on mouse hover.

 

The second visualization is more advanced. It's a map based on Google Maps. We're using both the street view and the heat map functionality in Google Maps. We plot the data points as pie charts using D3. If a user clicks on a pie charts, all details for the data points are shown to the user. There's no limit on how many data points the map can show. I've included a screen shot of the map below. Everything that shows in the window, except the column on the left, are data for the selected data point.

 

Our application contains very little data as all data input is by hand in a separate web application. Currently, it contains about 2200 rows. All rows with location data are shown on the map (I would say about 2000 data points). A saved pbix, containing all data, is less than 2 MB in size. 

 

2017-10-12 09_13_40-EmbraceInsightTest - Power BI Desktop.png

v-viig
Community Champion
Community Champion

Thank you guys for the details.

This issue will be reported to PBI CV API team.

 

Ignat Vilesov,

Software Engineer

 

Microsoft Power BI Custom Visuals

pbicvsupport@microsoft.com

I created this file to reproduce the issue:

https://www.dropbox.com/s/gj3ei0ceav1r229/MemoryLeak-01.pbix?dl=0

 

Switching back and forth between Page 1 and Page 2 multiple times slow down the entire Power BI window. The CefSharp.BrowserSubprocess.exe increases the memory if you switch between the two pages quickly. If you give time to the page, then CefSharp.BrowserSubprocess.exe releases memory, but it still goes up reaching almost 2GB of virtual memory allocated, and it not always go back to a stable number - waiting more time without actions, memory allocated is released, but I neve see the process going below 1 GB. Considering we have two pages with 30 visuals each, the memory consumption is really high. I agree that there is an improvement, but I still see some problem.

 

Marco Russo - SQLBI

Hi,

 

There is a new update to the Oct 2017 release version  2.51.4885.701.

 

I used Marco's test file and ran a few tests.

 

1. Increased the number of reports to 4 by duplicating report 2.

2. I can see that between tabbing the reports the memory usage will gradually grow from 870 Mb to ~2Gb

3. Average load time per report increases from ~4 secs to ~12 secs

4. If you tab and wait, the memory usage drops by roughly 30% after about 40 secs of wait time.

5. If you do not wait for the memory collection to kick in, and continue to tab between reports, processor usage tops at 38% and memory about 2.1 Gb. Seems to not go over these limits as with past releases and crash.

 

Overall, the PBIX file seems stable but is still sluggish in rendering the custom visuals IMO.

Hello @mistophiles

 

Thank you so much for the details.

 

Ignat Vilesov,

Software Engineer

 

Microsoft Power BI Custom Visuals

pbicvsupport@microsoft.com

Anonymous
Not applicable

Hi Ignat,

 

Updates on this will be appreciated as it is impacting our go live date. Customer is not ready to go live with this issue.

 

Regards,

Ashish

 

v-viig
Community Champion
Community Champion

Hello @Anonymous

 

Is that possible to reduce amount of custom visual on the same report page?

That might reduce the memory usage.

 

Ignat Vilesov,

Software Engineer

 

Microsoft Power BI Custom Visuals

pbicvsupport@microsoft.com

Ignat, if we remove all the visuals the memory usage will be minimal, but the dashboard is useless.

It simply doesn't make sense that custom visuals are so expensive.

Requiring to reduce the usage of custom visuals to reduce a memory consumption issue is like saying that it is better to not use custom visuals to avoid problems.

This is not a good message.

 

I'll raise this issue up to PBI CV API team to investigate further.

 

Ignat Vilesov,

Software Engineer

 

Microsoft Power BI Custom Visuals

pbicvsupport@microsoft.com

Anonymous
Not applicable

 

Do you have any updates on this?

 

This is impacting PowerBI adoption and would definitely be discouraging the developer community from developing custom visuals. Why build something that is known to impact the users?

 

v-viig
Community Champion
Community Champion

@gangell9 Please create a topic at Desktop if you are facing memory issues using native visuals.

 

@Anonymous PBI CV API team will to investigate the issue further.

We'll update this thread if there're any news.

 

Ignat Vilesov,

Software Engineer

 

Microsoft Power BI Custom Visuals

pbicvsupport@microsoft.com

 

 

I have the same issue with no custom visuals.  Switching tabs accelerates the memory leak until I have to restart the program.  This makes drillthrough useless because it relies on tab switching.  I'm surprised more people aren't reporting this.

Anonymous
Not applicable

Hi Ignat,

 

Any updates on when will this issue get completely resolved?

 

Regards,

Ashish

I agree with the observation. Waiting you can see memory released, so the situation is definitely better.

It is still an issue in requiring 2GB to display a couple of report pages. This is a big penalty in many scenarios and I hope MS will do something to address that and to improve custom visual performance and memory requirements.

 

Marco Russo - SQLBI

v-viig
Community Champion
Community Champion

PBI CV Team has reported that a fix for this issue is going to hit Power BI web on 10/11/2017.

PBI Desktop October should contain the same fix.

 

Are you still facing memory issue in Power BI Desktop October?

 

Ignat Vilesov,

Software Engineer

 

Microsoft Power BI Custom Visuals

pbicvsupport@microsoft.com

 

 

 

I am using Power BI Desktop Version: 2.51.4885.543 64-bit (October 2017)

The problem is identical. Switching back and forth between pages of the same report raises the memory used by CefSharp.BrowserSubprocess.exe until it slow down and eventually crashes because it runs out of memory.

@marcorusso Thank you for the details.

Could you please clarify amount of custom visuals on each page?

 

Ignat Vilesov,

Software Engineer

 

Microsoft Power BI Custom Visuals

pbicvsupport@microsoft.com

Anonymous
Not applicable

Hi Ignat,

 

I tried my report in PowerBI Desktop, Version: 2.51.4885.543 64-bit (October 2017).

 

One of the tabs in my report has about 55 "card with states" and 2 "chiclet slicers" custom visuals. The other tab has about 10 custom visuals (some guages and chiclet slicers).

 

When I switch between these tabs for about 6 times, I noticed that unlike before, now the memory increased only by 3% (between the 2nd and the 6th time), which is much more stable than the before.

 

For me, it seems that this fix will resolve the problem, once it is rolled out on to the powerbi.com service. I still face the memory leak issue when using the report from powerbi.com

 

Regards,

Ashish

Anonymous
Not applicable

Hi Ignat,

 

I just tried to view an existing report from powerbi.com using Chrome as browser and I am still facing memory leak issue. When I keep on switching between 2 tabs, the memory consumption on my laptop keeps on growing till such time that the usage hits more than 88% and then the power bi report stops responding. 😞

 

What I understand is that I do not have any action on my side after the API is released. The fix would start working seamlessly.

 

Regards,

Ashish

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors