-|**-g** | *memory_to_reserve*<br/><br>Applies to earlier versions of 32-bit instances of [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)]. Specifies an integer number of megabytes (MB) of memory that [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] leaves available for memory allocations within the [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] process, but outside the [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] memory pool. The memory outside of the memory pool is the area used by [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] for loading items such as extended procedure `.dll` files, the OLE DB providers referenced by distributed queries, and automation objects referenced in [!INCLUDE[tsql](../includes/tsql-md.md)] statements. The default is 256 MB.<br/><br>Use of this option may help tune memory allocation, but only when physical memory exceeds the configured limit set by the operating system on virtual memory available to applications. Use of this option may be appropriate in large memory configurations in which the memory usage requirements of [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] are atypical and the virtual address space of the [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] process is totally in use. Incorrect use of this option can lead to conditions under which an instance of [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] may not start or may encounter run-time errors.<br/><br>Use the default for the **-g** parameter unless you see any of the following warnings in the [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] error log:<br/><br>`Failed Virtual Allocate Bytes: FAIL_VIRTUAL_RESERVE \<size>`"<br/><br>`Failed Virtual Allocate Bytes: FAIL_VIRTUAL_COMMIT \<size>`<br/><br>These messages may indicate that [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] is trying to free parts of the [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] memory pool in order to find space for items such as extended stored procedure .dll files or automation objects. In this case, consider increasing the amount of memory reserved by the **-g** switch. <br/><br>Using a value lower than the default increases the amount of memory available to the buffer pool and thread stacks; this may, in turn, provide some performance benefit to memory-intensive workloads in systems that do not use many extended stored procedures, distributed queries, or automation objects.|
0 commit comments