my server side (windows server 2016) there is a Zulu Platform X64 i assume this is ignition,but in the task manager, the memory shows almost 12 GB but in the gateway , it only shows around 6GB
Q1. Why there are such a big gap?
Q2. every time i restart the server, i will found the SQL Server (MSSQLSERVER) is very low nearly 1GB, but everyday it will increase, i have set the up limit for this software to 12GB, after it reach 12GB, it will not increase, why this SQL server will always increase memory , other user also have this issue?
1 - that is your heap size, Ignition will grab the full heap from windows regardless of whether it needs it all or not. You could change your heap to e.g. 8GB and implement G1GC
2 - SQL is more memory hogging than Ignition, if the limit is 12 then it can’t go past 12. With change #1 made and now an “extra” 4GB RAM you could give that to SQL
Q1.I assume what you mentioned is the Maximum Java Heap Size in the config
If i reduce it to 8GB , what’s the side effect, if the real request is over 8GB?
Q2. If i give more memory to the SQL server, for example, 16GB, what’s the difference between 12GB and 16GB? I want to know if I decrease the Memory what’s the side effect?
Thanks a lot for your support
You shouldn’t just guess. The screenshot you provided from the IA Gateway showed a fairly flat trend, but you need to grab the timeframe slider (over on the bottom right of the trend), expand it all the way to the left, and monitor when your server is as max load (maximum clients open, etc). Change to G1GC, and set it the heap at a % of the trend. Search the forum, lots of advice on it.
The difference between 12Gb and 16GB is 4GB. I have no idea what your server is doing, how much RAM it has, etc. Someone who knows MS SQL better than me can advise. I use MySQL/MariaDB.
I had a chat with an MS SQL guru;
- You should always limit the amount of memory that SQL server has, or it will consume all of it
- The guru runs a large factory with intensive SQL queries going on, no SQL server has a max limit of more than 6GB dedicated to SQL
From my own knowledge; it is good to separate Ignition and SQL. A physical machine dedicated to each (best) or (not as good) a VM for each running on one host.
@Matrix_Engineering gave some great advice. One minor thing to clear up - with Ignition 8 (and Java 11) you no longer have to opt-in to the G1 garbage collector; it’s the default in all cases.