How can I configure Virtuoso for maximum performance with available memory?
Virtuoso INI file settings
When running with large data sets, the Virtuoso process should be configured to use between 2/3 and 3/5 of system RAM.
See Virtuoso configuration file parameters NumberOfBuffers and MaxDirtyBuffers for details.
Each buffer consumes 8 KB. Typical sizes for the NumberOfBuffers? and MaxDirtyBuffers? (3/4 of NumberOfBuffers?) parameters at various memory sizes are as follows, :
System Memory | NumberOfBuffers? | MaxDirtyBuffers? |
---|---|---|
16 GB | 1360000 | 1000000 |
2 GB | 170000 | 130000 |
32 GB | 2720000 | 2000000 |
4 GB | 340000 | 250000 |
48 GB | 4000000 | 3000000 |
64 GB | 5450000 | 4000000 |
8 GB | 680000 | 500000 |
default installation | 2000 | 1200 |
"swappiness"
For Linux users only, there is a kernel tuning parameter called "swappiness" that controls how much the kernel favors swap over RAM.When hosting large data sets, it is recommended that this parameter be changed from its default value of 60 to something closer to 10, to reduce the amount of swapping that takes place on the server. Useful tidbits regarding swappiness include:
- The swappiness setting is found in the file
/proc/sys/vm/swappiness
. - The command
/sbin/sysctl vm.swappiness
can be used to view its setting. - The command
/sbin/sysctl -w vm.swappiness=10
can be used to change its value. - Adding
vm.swappiness = 10
to the file/etc/sysctl.conf
will force the value to be set at machine boot time.
Related
- Virtuoso Tips and Tricks Collection
- Documentation of Linux swappiness kernel tuning parameter
- Tuning Virtuoso for RDF Performance
- Virtuoso INI file settings