Efficient Memory Management and fixing stability issues for StrategyQuant X
StrategyQuant X (hereafter SQX), our Java-based application, is sensitive to memory (RAM) issues. Any minor issue in memory management can result in a crash of the app. This blog post is designed to guide you on how to configure your memory settings, ensuring SQX runs seamlessly.
If you’re experiencing unexpected crashes of SQX, the first step is to check the following:
- check the memory setting: in Settings (the gearing wheel in the top right corner in SQX) → Configuration → Memory; it should reflect advice from the video from our YouTube channel
- make sure that your PC has enough memory (official minimum is 8 GB)
- if the issue still persists, and you are sure about the memory, the second step could be running A Deep Memory Test (read further)
- make sure that all drivers are updated
- check the GPU settings (you can switch GUI acceleration in the SQX setting: ‘Troubleshooting’ tab)
Preventing ‘Out of memory’ errors
The ‘Out of memory’ error typically occurs in case either of incorrect setting configuration or by a large number of strategies stored in the databank. To prevent such errors read below.
Example: Suppose you are running StrategyQuant X on your laptop continuously throughout the day. Over time, you notice the laptop heating up, and the application starts to crash. This could be due to overheating, which is common when demanding applications are run on laptops for extended periods. As a solution, you could move to a cooler environment, use a laptop cooling pad, or switch to a more robust workstation for running StrategyQuant X. See our recommended PC on our YouTube Channel.
Remember that if you don’t have enough memory it’s important that you have to strictly set the memory otherwise the SQX will not run smoothly.
Example: Let’s say you have thousands of strategies stored in your databank. Every time you run SQX, it attempts to load all these strategies, eventually it crashes and gives the “Out of memory” notification. By managing the number of strategies in your databank or optimizing your memory settings, as shown in our tutorial, you can avoid these ‘Out of memory’ errors.
Manual memory setting in SQX
There may be cases where your UI is unresponsive despite having adequate memory. In such situation, manual setting your memory may provide a solution. For a step-by-step guide on how to manually check and set memory, please watch another video tutorial on our YouTube channel.
Example: Imagine that you have plenty of unused RAM, but SQX is running slowly or the user interface (UI) is not responsive. This could happen due to the fact that application isn’t utilizing the available memory efficiently. In this case, manually adjust the memory settings within SQX as demonstrated in our tutorial, it can significantly improve performance.
Remember, proper configuration of your memory settings can make a world of difference in your StrategyQuant X performance. With the right management, you can enhance your experience, prevent crashes, and ensure smooth operations. Don’t let minor memory issues obstruct your strategies; take action today!
Running A Deep Memory Test
If the problem still persists, we highly recommend checking your memory using the deep Memtest tool, which can be accessed as Memtest. Bear in mind, this comprehensive test may take a while, but it’s worth the wait to ensure your system runs smoothly. Many our users reported to us that the memory modules were bad and the Memtest helped with identifying and replacement of them helped with resolving the issue with unexpected crashes of SQX.
Addressing Kernel Power issues
If you’ve experienced ‘Kernel Power’ issues, it could be a significant reason why your SQX isn’t working properly. The warning message “The system has rebooted without cleanly shutting down first” is linked to event 41 kernel power. This error indicates an unexpected occurrence that obstructed Windows from shutting down correctly. This can be due to a crash, unresponsiveness, or a power loss. Identifying and addressing these issues can help you avoid abrupt system reboots.
SQX on laptops: Do’s and Don’ts
Some users have reported SQX crashes on laptops. To prevent this, ensure your laptop is in a cool place to avoid overheating. However, remember that laptops may not be suitable for running applications like SQX 24/7. In such cases, a workstation proves to be a better choice.
Other Java version issues
If you are using a non-official version (Graal VM) of Java for SQX you may also experience unexpected Java crashes. In this case, we recommend switching back to the official Java version.
Issues with missing Microsoft redistribution packages
You can see error messages like this:
In this case, it can help to install missing Microsoft packages. Install the package all in one 2015 – 2022. You can download this package on this link: https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170
SQX does not use all available cores
Sometimes you can be experiencing the issue that SQX does see all your available cores. This situation happens when you exceed the limit per CPU socket. The problem is that Java and Windows 10 support maximally 64 cores per CPU socket.
- Turn off the hyper threading in bios, it should not have an impact on the CPU performance. It was confirmed by our users.
- Install Windows 11 for workstation or Windows Server 2022.
Starting with Windows 11 and Windows Server 2022, it’s no longer the case that applications are constrained by default to a single processor group. Instead, processes and their threads have processor affinities that by default span all processors in the system, across multiple groups on machines with more than 64 processors.
More info about this topic here:
Another solution – Process Lasso – set the affinity manually
Another solution on how to use all cores on your PC is to launch 2 instances of SQ X on the same computer.
Recommended PC configuration
8 GB RAM 4 cores 100 GB HDD
(with adequate settings it is sometimes possible to run on a PC with 4 or 6 GB RAM, but we don’t guarantee)
32 GB RAM; 8 cores
64 GB or more RAM and 20 and more CPU’s
Recommended hard drive is SSD or NVMe for high performance.
Proper memory management is pivotal for the smooth operation of StrategyQuant X. The examples we’ve shared should help you understand how to efficiently deal with potential memory issues, ensuring your experience with our application is seamless and productive. From conducting deep memory tests, resolving kernel power issues, to adjusting memory settings manually, each method brings you a step closer to optimal performance.
Remember, even though SQX is a powerful tool, it operates at its best when your hardware is well-maintained and configured correctly. We believe that with the information provided in this guide, you’ll be better equipped to run SQX smoothly, thereby optimizing your strategic output. Happy strategizing!
If you still haven’t found the solution for your situation, please contact us on our support email [email protected] with as many details as possible. Send us build configs, custom projects, screenshots, builder and also attach main logs from SQX which are stored in: <SQ X installation folder>\user\log\StrategyQuant. The Java crash logs are stored in:
SQ X installation folder. With all this additional information, we will be able to identify the problem quickly.