Forum

This content is now out of date.

Visit Our Community

How to see real cache size of Yellowfin on Process monitor

We are tuning Yellowfin performance with tuning cache size.

via. changing Java heap size on ’catalina.bat’ as follows:

rem Memory limits.
rem Use these options to set the Java memory limits.
rem -Xms128m sets the initial Java heap size to 128Mb
rem -Xmx512m sets the maximum Java heap size to 512Mb
rem To set memory limits uncomment the following line:
set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m
rem set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx1024m
rem set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx1024m

How to see real cache size of Yellowfin on Process monitor or etc...
on windows, linux, mac osx...

Yellowfin’s cache size on document section
’A generalised tuning process for Yellowfin wp_ROLAPperformance.pdf’
meams Java heap size?

Please advice me.
The Java heap size and the Yellowfin cache size are not the same thing. The java heap specifies how much memory the entire java VM may use. If at any time the VM tries to allocate more memory than the maximum setting, you will start to see Out Of Memory errors. The default value for these limits varies depending on what JVM you use, but are typically quite low, so we change them in the catalina.bat. Using:
set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m
will set the initial heap size to 128MB, and if the VM needs to allocate more memory than that the heap size will increase until it reaches 512MB.

If you want to check the heap size on a running instance of Yellowfin, go to the info.jsp page (eg http://localhost/info.jsp). In the top section you will see something like:

JVM current total memory: 127.1 MB
Free memory: 112.5 MB
JVM max memory: 254.1 MB

This shows that I currently have 128MB allocated to the VM, and the maximum size is 256MB. I am currently only using around 15MB.

The Yellowfin cache is a mechanism Yellowfin uses for storing result sets in memory. If a user runs a report twice, the cached result set may be used rather than going back to the database to retrieve the data a second time. This reduces the time needed to run the report, but increases the amount of memory required. This can be an effective way of minimising the amount of work the database does, but means that you may not be seeing up-to-date data (if you are reporting off an operational system).

Each View in Yellowfin has a "Default Cache Period" which specifies how long a result set may be stored in the cache. By default this is set to zero, which effectively disables caching.

There are also some system-wide settings that affect the cache. These are:
ReportCacheSize - the maximum number of report results that can be stored in the cache at any given time. Default value = 20.
ReportCacheMaxAge - the maximum age (in milliseconds) that a report may be stored in the cache. Default value = 86400000 (24 hours). The actual cache time for a result set it the smaller of the ReportCacheMaxAge, and the Default Cache Period on the report’s view.
These settings are stored in the file YellowfinappserverwebappsROOTWEB-INFweb.xml :


ReportCacheSize
20


ReportCacheMaxAge
86400000


If you update these values you will need to restart Yellowfin for them to take effect.