Skip to content

Performance and Memory

Size the memory of the MetaMiner Server and Client for your tenant, recognise out-of-memory symptoms, and keep disk space for the MetaMiner Database and temporary files.

MetaMiner runs several Java processes. Each has its own memory limit, set in a different place.

Process Default maximum heap Where to change it
MetaMiner Server (MMS), service metaminer Set at install time, at least 2 GB MMA Preferences > Settings > System > Memory allocation for MetaMiner's JVM
MetaQuery agent 2 GB or less, limited by physical memory MMA Preferences > Settings > MetaQuery > Memory allocation for MetaQuery agent
MetaMiner Client (MMC) 1 GB client\MetaMiner.ini
MetaMiner Administrator (MMA) 256 MB server\MetaMinerAdmin.ini
MetaMiner Web Apps, service MetaMinerWebApps 512 MB server\MetaMinerWebApps.ini

What uses memory in a Power BI deployment

Consumer Behaviour Grows with
Tenant view in the MMS The MMS holds the inventory of every enabled environment in memory (workspaces, reports, datasets with their tables and measures, dataflows, Fabric items) and rebuilds it from the database every 10 minutes Number of items and size of dataset schemas
Workspace scan results Scan results are downloaded and processed in parts; results over 300 MB are split per workspace Size of the largest workspaces
Download buffers (outside the heap) The MMS reserves buffer memory outside the Java heap for API downloads: 500 MB by default, 2 GB when the heap is over 31 GB, 3 GB when it is over 63 GB (property number.of.leased.buffers, in 10 MB units) Heap setting
Collectors All collectors of all environments run at the same time Number of environments
MMC The MMC loads the view of each Power BI environment you connect to Tenant size

Leave room outside the heap

Set the MMS heap so that heap + download buffers + the MetaMiner Database + the operating system fit in physical memory. With an embedded MMDB on the same machine, keep Limit max memory to half of physical memory ticked.

TODO: add heap sizing guidance per tenant size

Source to check: sizing data from support cases (workspaces, items, datasets with large schemas). Link from Sizing and Capacity once numbers are agreed.

MetaMiner Server heap

Image of the MMA Settings dialog, System page, with the Java Memory Settings and Java Temp Folder groups visible

../../images/help/mma-settings-system-memory.png

  1. In the MetaMiner Administrator (MMA), open Preferences > Settings > System.
  2. Set Memory allocation for MetaMiner's JVM (in GB). The tooltip shows the largest value this machine allows.
  3. Leave Limit max memory to half of physical memory ticked unless Infolytik Support advises otherwise.
  4. Click OK and restart the MetaMiner service when the MMA offers it.

The MMA writes the heap size into the Windows service definition, so the change takes effect at the next service start. Before it starts the service, the MMA checks free memory and warns "Your system's available memory is running low and is below the required amount for MMS."

Out-of-memory symptoms on the server

Symptom. Any of: java.lang.OutOfMemoryError in server.log or server.start.log; a java_pid<nnnn>.hprof file in the server\ folder; MMC clients disconnect together; collection stops; the service restarts.

Cause. The heap is too small for the tenant, or one operation (a very large scan result, a large backup or Meta Query result) needs more memory than is free.

Fix.

  1. Raise Memory allocation for MetaMiner's JVM, within the physical memory of the server.
  2. Restart the MetaMiner service.
  3. Move or delete old .hprof files once support has what it needs; each is as large as the heap.

What to send support. A log bundle including the gc-*.log files and statereport.log, the heap setting, the server's physical memory, the number of workspaces, and the time of the error. Ask support before uploading an .hprof file.

Long pauses or high CPU on the server

Symptom. The MMS responds slowly at regular intervals; CPU is high.

Cause. The heap is nearly full and the Java runtime spends its time on garbage collection. The Monitor app shows the JVM heap close to the maximum.

Fix. Check the latest server\logs\gc-*.log for frequent full collections, then raise the heap. Review Maximum Allowed CPUs on the same System page (default 8).

What to send support. The gc-*.log files and a log bundle.

MetaMiner Client heap

  1. Close the MMC.
  2. Open client\MetaMiner.ini under the installation folder in a text editor run as administrator.
  3. Change the -Xmx line at the end of the file, for example from vmarg.29=-Xmx1g to vmarg.29=-Xmx4g. Keep the vmarg numbers consecutive.
  4. Save the file and start the MMC.
Out-of-memory symptoms on the client

Symptom. The MMC freezes while loading a Power BI environment, stays on "Processing snapshot...", or client.log shows OutOfMemoryError.

Cause. The client heap is too small for the tenant.

Fix. Raise -Xmx in client\MetaMiner.ini, or connect to fewer environments at once.

What to send support. The client logs (File > Open MetaMiner Log Folder), the -Xmx value and the client machine's memory.

Web dashboards

Dashboards are slow or show busy

Cause. The Web Apps service answers up to 8 data requests at a time with a small database connection pool, and each query may run 15 seconds at most. A dashboard page sends several requests at once and retries when busy.

Fix. Check server\logs\webapps.queries.log for slow statements (logged above 5 seconds by default). Shorten the date range, or narrow environments and capacities. Large detail exports are capped at 50,000 rows (web.apps.pbiusage.export.max.rows) to protect the service's memory.

Disk space

Location What uses it How to manage it
server\data\mmdb\ (embedded MMDB) The MetaMiner Database Back up and monitor growth. See Embedded PostgreSQL and Data Retention
Java Temp Folder (default server\javatemp) Temporary downloads; mm-pbi-dumps keeps unreadable scan results for diagnosis (at most 4 GB) Change in MMA Preferences > Settings > System > Java Temp Folder
Backup archive folder Power BI and Fabric backup archives See How Backup Works
server\data\mq-spool\ Stored Meta Query web results (at most 8 GB) See Meta Query on the Web
server\logs\ Logs, GC logs; heap dumps in server\ Rotated automatically; see Log Files

Power BI history kept in the MMDB by default:

Data Kept Property
Activity events 104 weeks pbi.activity.events.retention.period (weeks)
Capacity metrics detail 26 weeks pbi.fcm.retention.period (weeks)
Removed items (archive) 180 days pbi.deleted.data.retention.days
Orphaned rows of removed environments 180 days pbi.orphan.cleanup.retention.days
Dashboard summaries 180 days; licence snapshots 400 days rollup job settings

Retention clean-up runs on Sunday mornings. MetaMiner also notifies you when free disk space on the installation drive drops below MMS Disk space remaining threshold (default 20 percent) in MMA Preferences > Settings > Notifications.

The MMDB or temp folder fills the disk

Symptom. The installation drive runs out of space; the MMDB or the service stops; the disk space notification arrives.

Cause. MMDB growth from activity and capacity history, backup archives, or a temp folder on a small drive.

Fix.

  1. Move the Java Temp Folder and the backup archive folder to a drive with space, then restart the service.
  2. Shorten retention where you do not need two years of activity (see the table above).
  3. Free space or extend the drive before you restart the MMDB.

What to send support. Disk usage per folder under the installation folder and a log bundle.

Next steps