Our Ignition server is fairly “loaded” particularly with a lot of SQL queries and as of 24 hrs ago has been restarting about 5 times per hour. I’ve had a bit of a look at the wrapper logs and keep seeing this
INFO | jvm 84 | 2018/09/04 07:28:27 | WARN [ABControlLogixTransportPool ] [07:28:26,541]: [T2Red] Reseting CIP connection for transaction ID of 2
INFO | jvm 84 | 2018/09/04 07:28:30 | WARN [ABControlLogixWriteRequest ] [07:28:25,306]: Write Request failed due to TIMEOUT. First item: Global.S90_LivePieceRateFromPC, Transaction: 4930
INFO | jvm 84 | 2018/09/04 07:28:30 | WARN [TCPClientChannel ] [07:28:19,275]: Unknown RequestId: 5357
INFO | jvm 84 | 2018/09/04 07:28:30 | WARN [ABControlLogixWriteRequest ] [07:28:30,119]: Write Request failed due to TIMEOUT. First item: Global.S90_LivePieceRateFromPC, Transaction: 4930
INFO | jvm 84 | 2018/09/04 07:28:41 | WARN [TimeoutDaemon ] [07:28:17,478]: [ABControlLogixConnectRequest] request with key "1" failed due to timeout.
ERROR | wrapper | 2018/09/04 07:29:15 | JVM appears hung: Timed out waiting for signal from JVM.
ERROR | wrapper | 2018/09/04 07:29:15 | JVM did not exit on request, terminated
STATUS | wrapper | 2018/09/04 07:29:20 | Reloading Wrapper configuration...
STATUS | wrapper | 2018/09/04 07:29:20 | Launching a JVM...
INFO | jvm 85 | 2018/09/04 07:29:21 | WrapperManager: Initializing...
Any Hints or suggestions as to where I should start looking to clean this up would be great, as you can appreciate this is impacting the accuracy of some of our recording/data-logging.
That sounds like memory exhaustion and Java’s “Pause the world” garbage collection. Consider turning on G1GC and browsing these topics. You’ll need Java7+ on the gateway for G1GC to be available. Consider trending Ignition’s internal memory utilization tags, too.
Hi Phil,
I’m a bit rusty in this area but I think we are running Java 8 on the server (jre1.8.0.181)?
and would you suggest that this should be the preferred “block”
I have since Commented out .3, .4, and .5 parameters (3&4 at ignored in v8, 5 is incompatible)
We’ll see how that goes…
(I really must get our Ignition version upgraded at some stage 7.5LTS I take it is now getting past it?)
You have two .7’s. .6 should also be eliminated. Collect the uncommented ones together and number them sequentially – I don’t remember when the wrapper gained the ability to tolerate skipped entries. Consider adding the PrintGC entries from this topic. (Adjust for windows paths.)
As for trending, look in the tag browser under System/Gateway for memory utilization. Then turn on tag history for those tags. And make a diagnostic screen that trends that tag.
Do I need to put that wrapper.java.additional.3=-Xloggc:/var/log/ignition/javagc-%WRAPPER_TIME_YYYYMMDDHHIISS%.log
Line in there too? reindexed of course but as for a Windows equivalent Path in there I’m not sure where to put it?
something like -XLoggc:“D:\Ignition/log/javagc-%WRAPPER_TIME_YYYYMMDDHHIISS%.log” or should I strip the quotes?
as far as the actual failures are concerned though We ended up tacking that down to a hung SQL script