Are you running a 32-bit Java JRE? TWS should be able to pull almost all of the 32 GB available on your system, if needed, with a 64-bit Java JRE.
Depends. With the default configuration, probably not. With any Java app, I usually set the max heap size allocation to 75% of the memory available on the system. If it doesn't need the memory, it won't use it anyway.
FWIW: If you want better boot time, I would suggest starting with a clean XLM file. Mine was at 6.5kb and I trimmed it down 3.5kb doing one what I was active in. I did not bother to debug. It improved boot time a lot.
TWS uses its own bundle Java that comes with it...it doesn't use any other java installation. And you're wrong...talk to IB..they'll Tell you TWS has a memory allocation limit.
The only limit mentioned in their own guide is based on the Java JRE OS Type: https://ibkr.info/article/2170 "Because of this OS architecture limitation, if you have a 32-bit OS, the maximum memory allocation for the TWS must not exceed 2048 Mb." That article mentions no other memory limit outside the OS limit. TWS offers a 32-bit and 64-bit version of TWS. Since the .jar file / Java application is OS type agnostic, the only difference between the two packages must be in the JRE. I suspect that it is possible to run TWS using another JRE anyhow, but haven't actually tried...never found a reason to do so.
I managed to get TWS down to 15 seconds on my i9 based Macbook Pro. But Rithmic RTrader starts in about 5 seconds after credential entry on my slow old i3 windows PC. But R trader is a native windows desktop app.
A quote from IB support message directly "Unfortunately, with the number of windows and tools you have open at the same time, you will see a poor performance level. Java won't utilize more than 2 gigabytes of ram, so you won't really benefit much from having a computer with a lot of ram." TWS is a piece of garbage that they'd rather spend time adding stupid features that nobody wants versus fixing basic performance issues and glitches. Support guy basically told me to kick rocks because TWS cant do what any other platform I've used can do. "The issue is not the number of data lines you are requesting but the number of TWS windows you have open a the same time. The number of Windows you have are pulling too much resources that the Java Virtual Machine cannot handle effectively."
The first statement from the IB support only applies to the 32-bit version, not the 64-bit version of Java / TWS package. Only the 32-bit Java JRE can't access more than 2 GB (although I thought the limit was a tad higher than that, closer to the maximum theoretical 4 GB addressable space for a 32-bit system). I remember a 2 GB limit for Windows XP 32-bit, but I thought there was a way to access a little more memory than that with that system...anyhow, 64-bit Java can address / use more memory than is available in any PC that exists today. So I would make sure that you are running the 64-bit version of TWS available here: https://www.interactivebrokers.com/en/index.php?f=16040 As for TWS being garbage, I wouldn't say it is garbage, but it does feel a bit bloated and I'm sure I could rewrite it to run faster if I had the time / opportunity without sacrificing features. The speed of TWS has very little to do with Java and a lot more to do with how it was written.