By default Neo4j is set to use 3GB use the following RAM:
|CAST Imaging ≥ 2.5.0||8GB of RAM memory (initial and maximum)|
|CAST Imaging ≤ 2.4.x||3GB of RAM memory (initial and maximum)|
If you are facing performance issues, it is possible to modify the allocated memory. See also https://neo4j.com/docs/operations-manual/current/performance/memory-configuration/#_considerations for more information.
How do performance issues manifest themselves?
In general, a sure sign that you need to modify the RAM allocated to Neo4j is when objects fail to load in CAST Imaging - particularly if there are a large number of objects to display - this is because the query used to fetch the objects for display is not completing before a timeout occurs. This timeout will manifest itself as a 504 (gateway timeout) error in the browser. Allocating additional RAM to Neo4j can help reduce the time required to complete the query.
Edit the configuration file
Open and edit the following file:
Microsoft Windows traditional installer: %APPDATA%\CAST\ImagingSystem\neo4j\conf\neo4j.conf Docker Installer extension (located in the folder created when unzipping the extension): neo4j\confconfiguration\neo4j.conf
Microsoft Windows via traditional installer
This file is located in the protected %APPDATA% location, therefore you must open the file with elevated permission (this is usually achieved by right clicking your text editor in the Windows start menu and selecting Run as administrator):
You may need to use elevated permissions to edit this file (for example use sudo).
Alter the following line lines and increase the RAM allocation as necessary:
Apply the changes
Traditional Microsoft Windows installation
If you have installed CAST Imaging using the traditional Microsoft Windows installer, you must run the following command to ensure that the new settings are applied correctly to the Neo4j Windows Service:
You should run the command from a CMD window in the following location:
Finally, restart the Neo4j Microsoft Windows service:
Restart the Neo4j Docker container to ensure the changes are taken into account.