The file cache can be enabled if you set snap.gpf.useFileTileCache to true.
The settings in the snap-properties is also effective when you use gpt from the command line or snappy in Python.
In this post I have written a code snippet, how you can check if your java_max_mem setting is effective.
As I already said in the post it is still a bit buggy.
If you try to do some Sentinel-1 processing you might need to set even higher values as memory setting.
maybe 12 or 16 GB.