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? |
---|---|---|
default installation | 2000 | 1200 |
2 GB | 170000 | 130000 |
4 GB | 340000 | 250000 |
8 GB | 680000 | 500000 |
16 GB | 1360000 | 1000000 |
32 GB | 2720000 | 2000000 |
48 GB | 4000000 | 3000000 |
64 GB | 5450000 | 4000000 |
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:
/proc/sys/vm/swappiness
.
/sbin/sysctl vm.swappiness
can be used to view its setting.
/sbin/sysctl -w vm.swappiness=10
can be used to change its value.
vm.swappiness = 10
to the file /etc/sysctl.conf
will force the value to be set at machine boot time.