Memory Usage
Incorta is a java application - Java uses the available memory, then performs a garbage collection, thus monitoring the external memory using Java is often misleading. There are tools that allow you to force a garbage collection at anytime and see how much memory is really used.
To get information about system memory usage, run the following command on unix:
free -gh
To get a list of all processes owned by incorta user with their status and resource usage, use the following command:
ps aux --sort -rss
To get the percentage of system used memory, use the following command:
free | awk 'FNR == 3 {print $3/($3+$4)*100}'| cut -d '.' -f 1
To get a report about tenant memory usage, navigate to the following URL:
http://<INCORTA_HOST>:<PORT_NO>/incorta/memory.jsp
To check a tenant memory usage:
- Go to
https://<INCORTA_IP_ADDRESS>:<PORT_NO>/incorta/test.jsp
- Navigate to "Diagnostics"
- Enter (-1) as the value
- Press the log button (you will need to be logged in as administrator to use this feature).
There are situations where other applications will be running on the server that would not allow the jvm to allocate the requested memory, and would lead the JVM to crash. Typically, this results in error files created in the tomcat directory.
For analyzing why the system failed, the log files (catalina.out and files in the "Incorta" folder) provide information that helps solve the issue.
The following are ways to reduce memory usage:
- Typically, external id columns (strings) that are not used are expensive to store, because they do not get compressed enough. Removing unnecessary id columns (set type to null) could help reduce the data size.
- Formula columns created at the schema level consume memory significantly. Deleting some of these columns and using business view formulas can reduce the memory for slower runtime.
- If the MVs are slow or erroring out, check if spark is configured correctly and the proper worker memory allocated. Also check the MV properties to see if more executor memory is needed for that MV.
Check Spark status at: http:/<SPARK_URL>:9091
.