# NIOEventLoop and high cpu usage

**URL:** <https://forum.inductiveautomation.com/t/nioeventloop-and-high-cpu-usage/38542>\
**Category:** Ignition\
**Tags:** ignition79\
**Created:** [September 10, 2020, 5:18am UTC](https://forum.inductiveautomation.com/t/nioeventloop-and-high-cpu-usage/38542 "2020-09-10T05:18:11Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![guanghui](https://avatars.discourse-cdn.com/v4/letter/g/43a26b/32.png) [@guanghui](https://forum.inductiveautomation.com/u/guanghui)\
**Post date:** [September 10, 2020, 5:18am UTC](https://forum.inductiveautomation.com/t/nioeventloop-and-high-cpu-usage/38542/1 "2020-09-10T05:18:11Z")

</div>

Hi,I am having an issue with high cpu usage even i do noting in designer or client .every time ,i can find an warning named NioEventLoop.any one have ideas?Thanks!.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/7/e/7ea67694c43cc348581a57c80858978e3843bbfe.png) ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/5/c56b9ce91c759660a2f5ed80b930031745a80777.png) ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/7/e7bd87c9696a6c02b611c38be32052009a9451e9.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:** [September 10, 2020, 12:54pm UTC](https://forum.inductiveautomation.com/t/nioeventloop-and-high-cpu-usage/38542/2 "2020-09-10T12:54:23Z")

</div>

Look at your log: those clock drift events usually mean your system is bogging down for other reasons–usually a DB on the same box, or if a VM, the hypervisor starving your gateway. The busy event loops are likely just the flurry of threads discovering they’ve all timed out together because of the pause-the-world.

Fix your starvation problem first.

---

<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:** [September 10, 2020, 12:55pm UTC](https://forum.inductiveautomation.com/t/nioeventloop-and-high-cpu-usage/38542/3 "2020-09-10T12:55:59Z")

</div>

Also, switch to G1GC. The concurrent-mark-sweep garbage collector is horrible. Start here:

> [@Migrating to Java G1GC garbage collection](http://forum.inductiveautomation.com/t/migrating-to-java-g1gc-garbage-collection/18638/2):
>
> Oracle backed out of its announced rollout of G1GC as the default in Java 8. It supposedly is the default finally in Java 9, but I haven’t switch to 9 yet. Adding the switches won’t hurt anything if its the default.

---

<div class="post-metadata">

**Author:** ![guanghui](https://avatars.discourse-cdn.com/v4/letter/g/43a26b/32.png) [@guanghui](https://forum.inductiveautomation.com/u/guanghui)\
**Post date:** [September 10, 2020, 1:37pm UTC](https://forum.inductiveautomation.com/t/nioeventloop-and-high-cpu-usage/38542/4 "2020-09-10T13:37:16Z")

</div>

thanks , I read the post for times ,but I have no enough knowedge to understand it .I’m using win10,jave 8,ignition 7.9.12 ( 7.9.14 have same issue). here is my ignition.conf. should I make any change?

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/0/8002eb5c920a8eaa31394c43d7778032eea25c77.png) ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/e/ee8829a78ef7c41de42eb1cd7c8a2cd0a10d1190.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:** [September 10, 2020, 1:41pm UTC](https://forum.inductiveautomation.com/t/nioeventloop-and-high-cpu-usage/38542/5 "2020-09-10T13:41:14Z")

</div>

Yes, change your first two “Additional Parameters” to look like this:

```auto
wrapper.java.additional.1=-XX:+UseG1GC
wrapper.java.additional.2=-XX:MaxGCPauseMillis=100

```
