Thinkorswim Memory Usage Settings

Thinkorswim Memory Usage Settings

As traders or investors we need to make the most of all the tools available to us. That means it is a good idea to have the correct Thinkorswim memory usage settings as this will give you the optimal performance and could make you more profitable in the long run.  

Users report performance issues on Thinkorswim when volume picks up even if you set the minimum memory allocation higher.

This means the entire platform can freeze in volatile markets which is the last thing you want to happen. The commonly accepted reason for this is the Thinkorswim infrastructure itself but there are changes that you can make to help things run smoother.

Thinkorswim Memory Usage Settings Tips:

Collect Garbage in Help / System. The Thinkorswim platform does this from time to time  itself but is is a good idea to do it manually to speed things up if they slow down.

  1. If you are a more longer term trader then you don’t need to see every tick of movement, so you can adjust your quote speed downwards. So don’t use real time updates but instead 1 second updates will make a big difference.
  2. For Thinkorswim memory usage settings try to Increase the maximum memory allocated to the platform. The commonly accepted best settings are:
  3. With 4GB of RAM, set the minimum/maximum to 512/1536
  4. With 8GB of RAM, set the minimum/maximum to 1024/3072
  5. With 16-32GB of RAM, set the minimum/maximum to 4096/6144
  6. Delete the usergui folder from the following path, this will clear cached objects and frees up some memory:
    • (For WINDOWS)Program Files / Thinkorswim / usergui 
    • (For Apple MAC) Applications / Thinkorswim / usergui 
  7. The following is for more advanced users as it involves editing code, so as always take a backup of your code before editing it. Edit “vmoptions” file in the same location (Program Files / Thinkorswim / thinkorswim.vmoptions or Applications / Thinkorswim / thinkorswim.vmoptions) and overwrite it to add this chunk of code:

-Xmx2048m -Xms1024m -XX:MaxPermSize=256m -Dawt.useSystemAAFontSettings=false -Djava.util.Arrays.useLegacyMergeSort=true -Classpath/p launcher-first.jar -Djava.net.preferIPv4stack=true -Dsun.java2d.xrender=True -XX:-UseConcMarkSweepGC -Dsun.java2d.noddraw=true -Dsun.awt.disableMixing=true

These are java runtime arguments which deal with memory allocation, make sure you also have Java JDK updated to the latest version. They also instruct Thinkorswim to use mergesort which I believe is more efficient than the quicksort algorithm.

Another thing to keep in mind with Thinkorswim memory usage settings is that a major cause of memory issues is when you detach a chart. This slows down the platform hugely. You will need a souped up machine to enable the platform to run smoothly.

Another user suggested the following changes to vmoptions:

-Dsun.java2d.opengl=true

-Dsun.java2d.d3d=false

-Dsun.java2d.noddraw=true

This forces Thinkorswim to use your GPU for rendering which can make a massive difference.

A Thinkorswim technical support person has said that 1:2 or 1:4 ratio between minimum and maximum memory setting is best.

Also don’t forget to completely restart Thinkorswim every time you use it. 

Sadly, again, Apple MAC users seem to suffer more from performance issues compared to Windows users.

Another tip is to follow the Thinkorswim twitter account, if you are noticing issues check on there to see if other users are tweeting about similar problems.

Thinkorswim memory usage settings twitter account

Also keep a RAM usage gauge monitor running to keep an eye on things.

If your system is running slowly then thinkorswim will give you pop warnings.  Some more general tips can be found in this video.


And also here:

Also a reason for this occasional poor performance in general is that Thinkorswim is not fully designed for use with multi core processors. The part of the software that deals with drawing on  screen is single thread which means it just uses 1 core which can slow things down. 

At the moment the not so practical solution to this is to use multiple computers!

Although a work around is if you have multiple instances of Thinkorswim running so each instance has its own thread updating the redrawing on screen.

Also the more chart labels you add to a chart then the more it will slow down Thinkorswim.

You can check out these settings if you have not found much success speeding things up. 

They also give more great tips such as:

  • not using extra active trader windows 
  • clear the symbols from charts you are not using
  • collapse watchlists and charts you are not using
  • remove studies you don’t need and more

Some users report a big increase in performance by doing the following: 

  1. Save all styles and workspace(s).
  2. Restart Thinkorswim and set 2048 min and 12288 max, remember to click "save".
  3. "Reset workspace to default" then load your saved workspace.
  4. In EACH chart that you have in your workspace, go to Style: and then "Reset to factory default" then reload your saved style, then save your workspace again.

You can also run OnDemand as if it were live-trading.

With OnDemand (saved a separate workspace with only one monitor utilized), reset workspace to default --> load workspace for OnDemand --> reset Style to factory default --> turn on OnDemand --> "reset time" (of OnDemand) --> load your saved Style.

Hopefully these Thinkorswim memory usage settings tips will help you speed up the platform and possibly give you an edge and make you more profitable.

After understanding Thinkorswim Memory Usage Settings, you should also have a look at Thinkorswim Bull Flag Scanner and Bollinger Band Squeeze Scan on Thinkorswim.

Leave a Comment