# Ignition Gateway Ram Usage

**URL:** <https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307>\
**Category:** Ignition\
**Tags:** perspective\
**Created:** [March 4, 2026, 8:23am UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307 "2026-03-04T08:23:34Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Batuhan\_Parlakay](https://avatars.discourse-cdn.com/v4/letter/b/e47c2d/32.png) [@Batuhan\_Parlakay](https://forum.inductiveautomation.com/u/Batuhan_Parlakay)\
**Post date:** [March 4, 2026, 8:23am UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/1 "2026-03-04T08:23:34Z")

</div>

Hi all,

I noticed something strange in the Gateway Performance → Memory Trend chart.  
Sometimes there are vertical gaps (blank areas) in the graph.

There was no gateway restart, no errors in logs, and the system didn’t lose connection. Perspective sessions continued normally.

At the same time I occasionally see warnings like:

Clock drift, degraded performance, or pause-the-world detected

Usually around 1000–2000 ms.

Current setup:  
• Heap: 16 GB  
• Usage usually 6–11 GB  
• GC: G1 Young / Old  
• CPU very low (~3%)

One important detail:  
Right now everything runs on a single gateway:  
• MQTT Engine / Transmission  
• DB queries  
• Perspective frontend  
• integrations / backend logic

So basically frontend + backend + messaging all in one gateway.

Questions:

1. What usually causes these gaps in the performance graph if there is no restart and nothing in logs?
2. Are the clock drift warnings typically related to GC pauses or something at OS/VM level?
3. Has anyone seen improvements by splitting frontend (Perspective) and backend (tags/MQTT/DB) into separate gateways?

Just trying to understand if this is normal behavior or something worth investigating.

Thanks

 ![Screenshot 2026-03-04 at 11.11.51](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/f/af61fe29973560df25d5c5149964ec0c44ded945.png)

 ![Screenshot 2026-03-04 at 11.11.44](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/1/71ee5fd6979f5e3da8534af73647c7f748218fe6.png)

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 4, 2026, 12:25pm UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/2 "2026-03-04T12:25:50Z")

</div>

Sometimes the gaps in the trends are javascript artifacts that disappear if you reload that page. If the gap persists, it means that internal capture of the value was interrupted.

FWIW, running the database on the same machine as the gateway is not recommended, particularly with any significant load. Databases and Ignition use CPU differently and incompatibly--the DB will end up dominating the CPU usage.

You should activate GC logging to see the actual GC pause durations, and see if they correlate with your clock drift events.

---

<div class="post-metadata">

**Author:** ![Batuhan\_Parlakay](https://avatars.discourse-cdn.com/v4/letter/b/e47c2d/32.png) [@Batuhan\_Parlakay](https://forum.inductiveautomation.com/u/Batuhan_Parlakay)\
**Post date:** [March 4, 2026, 3:54pm UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/3 "2026-03-04T15:54:44Z")

</div>

Thanks Paul.

Reloading the page didn’t remove the gap on our side, so it looks like a real capture interruption (not a JS artifact).  
What actually “fixed” it was restarting the Ignition service/gateway — after restart the trend was normal again.

However, we still see a small gap occasionally even when the system is basically idle (CPU ~few %, heap usage stable). So I’m trying to understand what could cause that without an obvious load spike.

Two questions:

1. What’s the recommended way to enable GC logging on Ignition 8.1 (where do I add the JVM args on Windows)?
2. Are there any other logs/metrics you’d check to confirm whether this is a GC pause / scheduler stall / IO hiccup?

---

<div class="post-metadata">

**Author:** ![Matrix\_Engineering](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matrix_engineering/32/19781_2.png) [@Matrix\_Engineering](https://forum.inductiveautomation.com/u/Matrix_Engineering)\
**Post date:** [March 4, 2026, 4:14pm UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/4 "2026-03-04T16:14:07Z")

</div>

> [@Batuhan\_Parlakay](#):
>
> Paul.

Phil…. 😉

---

<div class="post-metadata">

**Author:** ![Batuhan\_Parlakay](https://avatars.discourse-cdn.com/v4/letter/b/e47c2d/32.png) [@Batuhan\_Parlakay](https://forum.inductiveautomation.com/u/Batuhan_Parlakay)\
**Post date:** [March 4, 2026, 4:34pm UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/5 "2026-03-04T16:34:58Z")

</div>

Oops, sorry Phil 😅 my mistake

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 4, 2026, 4:46pm UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/6 "2026-03-04T16:46:39Z")

</div>

1. I use the following in most of my gateways (in `ignition.conf`):

```python
wrapper.java.additional.10=-XX:+UseG1GC
wrapper.java.additional.11=-XX:MaxGCPauseMillis=25
wrapper.java.additional.12=-Xlog:gc:file=logs/gc.log:t,tags:filecount=5,filesize=4M
wrapper.java.additional.13=-XX:-OmitStackTraceInFastThrow

```

1. Examine the GC log to find the pauses around the time of your clock drift reports. Look for pauses that significantly exceed the "MaxGCPauseMillis" configured. (Default varies by java version--250ms now-a-days I think.)

If you are getting clock drifts that don't correspond to GC pauses, then look for:

- Time warps from NTP (Windows doesn't slew for clock corrections the way competent OSs do). Consider **not** using Windows.
- VM Hypervisor resource starvation. (Typical in IT controlled environments where hypervisors are deliberately overcommitted to save $$.)

---

<div class="post-metadata">

**Author:** ![Batuhan\_Parlakay](https://avatars.discourse-cdn.com/v4/letter/b/e47c2d/32.png) [@Batuhan\_Parlakay](https://forum.inductiveautomation.com/u/Batuhan_Parlakay)\
**Post date:** [March 4, 2026, 4:53pm UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/7 "2026-03-04T16:53:59Z")

</div>

Thanks for the suggestions.

The system is currently running in production, so I can’t restart the service at the moment. When I get a chance to restart the gateway and enable GC logging, I’ll check the pauses around the clock drift times and update the thread.

Thanks again

---

<div class="post-metadata">

**Author:** ![lane.duncan](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lane.duncan/32/83700_2.png) [@lane.duncan](https://forum.inductiveautomation.com/u/lane.duncan)\
**Post date:** [March 5, 2026, 5:34am UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/8 "2026-03-05T05:34:17Z")

</div>

> [@pturmel](#):
>
> FWIW, running the database on the same machine as the gateway is not recommended, particularly with any significant load. Databases and Ignition use CPU differently and incompatibly--the DB will end up dominating the CPU usage.

This is the best advice ever. There are a few external processes (and software companies) that seem to think they can take over the world at any time.

I’m curious:

1. What operating system are you running?
2. Have you checked available hard drive space?

---

<div class="post-metadata">

**Author:** ![Batuhan\_Parlakay](https://avatars.discourse-cdn.com/v4/letter/b/e47c2d/32.png) [@Batuhan\_Parlakay](https://forum.inductiveautomation.com/u/Batuhan_Parlakay)\
**Post date:** [March 5, 2026, 5:51am UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/9 "2026-03-05T05:51:51Z")

</div>

Hi, thanks for the suggestions.

1. OS: Windows Server 2019 (Ignition and the database are on separate servers).
2. Disk: Both the DB and Gateway servers have plenty of free space (around ~1TB free), so it doesn’t appear to be related to disk capacity.

After increasing the Gateway heap size, the memory situation improved. However, the system has grown quite a lot over time, so I believe the issue may now be more related to topology and load distribution rather than OS or disk.

Currently we are running a single Gateway that handles:  
• MQTT Engine (data coming from multiple sites/customers)  
• SQL Bridge  
• Alarm system + Historian  
• Perspective / reporting loads

In total, this setup serves more than 5 customers / multiple facilities from the same Gateway.

Because of that, I’m starting to think that this architecture may not be ideal anymore. I’m considering separating the system into backend and frontend gateways, something like:  
• Backend Gateway(s): MQTT ingestion, Historian, Alarming, SQL Bridge, database-heavy tasks  
• Frontend Gateway: Perspective sessions, reporting, dashboards

Does this approach make sense at this scale?  
If anyone has experience with a similar architecture (or best practices for splitting these modules across gateways), I’d really appreciate your suggestions.

---

<div class="post-metadata">

**Author:** ![lane.duncan](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lane.duncan/32/83700_2.png) [@lane.duncan](https://forum.inductiveautomation.com/u/lane.duncan)\
**Post date:** [March 5, 2026, 6:30am UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/10 "2026-03-05T06:30:48Z")

</div>

> [@Batuhan\_Parlakay](#):
>
> • Backend Gateway(s): MQTT ingestion, Historian, Alarming, SQL Bridge, database-heavy tasks  
> • Frontend Gateway: Perspective sessions, reporting, dashboards

I have done it exactly like this, and the bonus is it makes it easier to separate things like MQTT issues from Perspective UI issues.

Since the backend gateway will not need Perspective it helps with the licensing costs.

---

<div class="post-metadata">

**Author:** ![Matrix\_Engineering](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matrix_engineering/32/19781_2.png) [@Matrix\_Engineering](https://forum.inductiveautomation.com/u/Matrix_Engineering)\
**Post date:** [March 5, 2026, 9:19am UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/11 "2026-03-05T09:19:34Z")

</div>

> [@Batuhan\_Parlakay](#):
>
> In total, this setup serves more than 5 customers / multiple facilities from the same Gateway.

If you mean 5 unique customers, not 5 sessions all belonging to the same company, then this is an IA license breach anyway and should be split into 5 independent servers.

---

<div class="post-metadata">

**Author:** ![Batuhan\_Parlakay](https://avatars.discourse-cdn.com/v4/letter/b/e47c2d/32.png) [@Batuhan\_Parlakay](https://forum.inductiveautomation.com/u/Batuhan_Parlakay)\
**Post date:** [March 5, 2026, 10:17am UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/12 "2026-03-05T10:17:13Z")

</div>

No, it’s not about 5 different customers. What I meant here is the overall system load. I will look into separating the backend and frontend.  
Currently, I’m not receiving any errors after restarting the service. Also, I will update the configuration file with the changes Phil suggested as soon as I have the opportunity to restart the service again.  
Thanks.

---

<div class="post-metadata">

**Author:** ![Bushmatic](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bushmatic/32/87014_2.png) [@Bushmatic](https://forum.inductiveautomation.com/u/Bushmatic)\
**Post date:** [March 5, 2026, 11:36am UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/13 "2026-03-05T11:36:35Z")

</div>

I recommend checking out these pages from the docs:

- [Scale-Out Architecture Guide](https://www.docs.inductiveautomation.com/docs/8.1/tutorials/tutorials-and-helpful-tricks/scale-out-architecture-guide)
- [Hub and Spoke Architecture](https://www.docs.inductiveautomation.com/docs/8.1/system-architectures/hub-and-spoke-architecture)
- [Edge Architectures](https://www.docs.inductiveautomation.com/docs/8.1/system-architectures/edge-architectures)
- [IIoT Architecture](https://www.docs.inductiveautomation.com/docs/8.1/system-architectures/iiot-architecture)
- [Enterprise Architecture](https://www.docs.inductiveautomation.com/docs/8.1/system-architectures/enterprise-architecture)

They link to some other architecture pages as well. These should help you map out what should go where and make a plan for scaling things out.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 5, 2026, 1:06pm UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/14 "2026-03-05T13:06:23Z")

</div>

> [@Matrix\_Engineering](#):
>
> an IA license breach anyway

That part of the license has been relaxed, IIRC.

---

<div class="post-metadata">

**Author:** ![Matrix\_Engineering](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matrix_engineering/32/19781_2.png) [@Matrix\_Engineering](https://forum.inductiveautomation.com/u/Matrix_Engineering)\
**Post date:** [March 5, 2026, 1:07pm UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/15 "2026-03-05T13:07:13Z")

</div>

Only if it’s cloud edition, IIRC.

---

<div class="post-metadata">

**Author:** ![Matrix\_Engineering](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matrix_engineering/32/19781_2.png) [@Matrix\_Engineering](https://forum.inductiveautomation.com/u/Matrix_Engineering)\
**Post date:** [March 5, 2026, 1:14pm UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/16 "2026-03-05T13:14:44Z")

</div>

_3.1_

_You will not sublicense, rent, lease, sell, trade, resell, publish, transfer, or lend the Software or the Documentation without Inductive Automation’s written consent._

_3.2_

_Hosted Systems. You will not permit any third party to benefit from the use or functionality of the Software via a rental, lease, timesharing, service bureau, hosting service, or other similar arrangement without Inductive Automation’s written consent._

The key word I was looking for that my IA rep told me years ago was “multi-tenant”, I don’t see that.

IANAL, etc

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [March 5, 2026, 6:08pm UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/17 "2026-03-05T18:08:40Z")

</div>

It definitely gets into a gray area. We have a potential project that is a company that has let's say 100 trailers that has equipment on them with a local HMI, and they want to have a central server that they can operate the units remotely or just monitor them and run reports. They don't operate these trailers themselves, but they lease the trailers out to customers and those customers would get access to the central server to also monitor all of their leased units. Technically they wouldn't be leasing the software to the customers, because the main system is owned/operated by the lessor of the equipment, and they're just allowing their customers who lease the equipment to access all their systems remotely via their server. I personally don't think this violates the license agreement but like you, IANAL.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 5, 2026, 6:15pm UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/18 "2026-03-05T18:15:14Z")

</div>

Probably worth calling IA. We can speculate all day and not have an answer.

---

<div class="post-metadata">

**Author:** ![Matrix\_Engineering](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/matrix_engineering/32/19781_2.png) [@Matrix\_Engineering](https://forum.inductiveautomation.com/u/Matrix_Engineering)\
**Post date:** [March 5, 2026, 8:12pm UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/19 "2026-03-05T20:12:43Z")

</div>

> [@Matrix\_Engineering](#):
>
> without Inductive Automation’s written consent

Agreed Phil, for Michael I’d say this is the key line.

My IA sales rep told me that in the early days, 1 integrator would buy 1 full licence, and hang 50 different customers off that gateway, then call support every other hour (maybe a bit exaggerated), stating that the system was overloaded, etc. That’s what they don’t want.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 5, 2026, 8:14pm UTC](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307/20 "2026-03-05T20:14:51Z")

</div>

We also don't build Ignition with multi-tenant in mind. Nothing is siloed without a bunch of care taken on your part, and zero customer Designer access, if you host multiple customers on the same Ignition.

[Next page](https://forum.inductiveautomation.com/t/ignition-gateway-ram-usage/114307.md?page=2)
