Memory config with search-enabled

We have loaded an abridged version of YAGO in a db with text search enabled. Version=5.0.5, enterprise. Are there recommended changes to the JVM and direct memory params when search is enabled? The db contains slightly less than 200M triples. It’s on a 8/52 VM.

General Stardog memory configurations can be found in the docs at

The only suggestion I’d make regarding search would be try to avoid allocating all the memory as Lucene uses memory mapped files that will be cached by the OS if there is memory available. There are a lot of things competing for memory resources so you should either turn down your swappiness setting or turn swap off. (I’m assuming you’re using Linux here)

I’m not sure what you mean by an 8/52 VM.

Thanks, this is helpful. Apologies: I meant the host is a 8 cores/52 GB RAM virtual machine (google cloud service; and yes, ubuntu/linux).

One more thing: I have the stardog executables and STARDOG_HOME (data and tmp directory) on 2 separate disks (i.e. 2 partitions, mounted from different local drives). Anything against that, either for Stardog or Lucene performance?

I can’t see anything wrong with separate partitions for STARDOG_HOME and tmp and possibly some performance advantages to having them separate although I’m not sure how much you should expect there. The biggest thing to avoid is to make sure you don’t run out of space on tmp.

There might be a new configuration with 5.0.5 that might help with Lucene. Keep an eye on Lucene mmap usage config for the response.

+1 on Zach’s recommendation: leave enough memory for the operating system to manage, it will help with memory mapped files used by the search index

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.