Setting up Quickbooks Cache and Memory (RAM) Settings for optimal performance
The total amount of cache memory available to the Quickbooks database server can be a key factor in affecting Quickbooks performance. In basic terms, the more memory made available to the database server, the faster Quickbooks will run. The cache holds data that may be required more than once. Accessing data in cache is faster than accessing it from disk. The default initial cache size is computed based on the amount of physical memory, the operating system, and the size of the database files. The Quickbooks database server automatically adjusts the cache size as necessary.
There are are two options to setup Quickbooks to use the optimal amount of cache. Note that newer versions of Quickbooks do this automatically, and so the manual version may not work.
I. Setting up cache settings using the QBW.INI file
Step1: Find the QBW.INI file on your computer by browsing to one of the folders below.
- C:\ProgramData\Intuit\QuickBooks[Version] where [Version] is your version of QuickBooks Desktop.
- C:\Documents and Settings\All Users\Application Data\Intuit\QuickBooks [Version]where [Version] is your version of QuickBooks.
Step 2: Copy and paste the lines below at the bottom of the QBW.INI file. You can tweak the InitialCache setting to 512/1024/2048/4096/8192/16384 etc. 512 = 512 MB of Memory.
Save the file and restart your data file for the settings to take effect.
II. Setting up cache using the registry
Quickbooks has a registry setting that allocates the amount of memory that is allocated to an open QB file. For older versions of Quickbooks, the default size is 128MB for the minimum amount and 256MB is the maximum amount. By changing the values in the registry setting, you can increase the database cache settings.
Step1: Open the registry in Administrator mode. If you don't know how to do this, you probably should not do it, and have your IT professional do the steps below.
Step 2:Find the registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\QuickBooksDB##\Parameters
The return will look similar to this:
-n QB_SERVER_NAME -qs -gd ALL -gk all -gp 4096 -gu all -ch 256M -c 128M …
-n QB_DELL_20 -qs -gd ALL -gk all -gp 4096 -gu all -ch 1024M -c 512M -x tcpip(BroadcastListener=NO;port=55348) -ti 0 -ec simple -qi -qw -tl 120 -oe C:\PROGRA~3\Intuit\QUICKB~1\DBSTAR~1.LOG
Change the value of ch and c as shown in the example below:
ch 1024M -c 512M
-c 16384M -cl 4096M
After this is done, restart the “QuickBooksDB##” service(## is your version of Quickbooks. For example 2018 is 18, 2019 is 19, 2020 is 20, etc) to complete the process. This process has to be repeated by trial and error until Quickbooks works with optimal settings as the setting depends on various factors such as the amount of RAM on the machine, amount of free memory, the database file size, etc.