Invoke-NAVMemoryManager
Invokes the CLR memory manager (garbage collector) on the specified Business Central server instance.
Syntax
Invoke-NAVMemoryManager
[-ServerInstance] <String>
[-Blocking]
[-Generation <Int32>]
[-CompactSmallObjectHeap]
[-CompactLargeObjectHeap]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
You must specify a Business Central Server instance, which heap generations to collect, and whether or not to compact the small object and/or large object heaps. For more info on the garbage collector and relevant terminology, see https://go.microsoft.com/fwlink/?linkid=2119529
Examples
EXAMPLE 1
Invoke-NAVMemoryManager -ServerInstance BusinessCentral -Generation 2 -CompactSmallObjectHeap -CompactLargeObjectHeap
This example invokes the CLR garbage collector on the server instance BusinessCentral. It will be allowed to block server threads, collect objects in generations 0-2, and compact the small and large object heaps of generations 0-2.
EXAMPLE 2
Invoke-NAVMemoryManager -ServerInstance BusinessCentral -Generation 1 -Blocking
This example invokes the CLR garbage collector on the server instance BusinessCentral. It will collect objects in generations 0-1, compact neither the small nor large object heaps in generations 0-1, and will be allowed to block server threads.
EXAMPLE 3
Invoke-NAVMemoryManager -ServerInstance BusinessCentral
This example invokes the CLR garbage collector on the server instance BusinessCentral using the default parameters. It will collect objects in generations 0-2, without compacting heaps or blocking Business Central server threads.
Parameters
-Blocking
Specifies that garbage collection will be blocking ("non-concurrent"). The garbage collector will suspend execution on the server, making the server unresponsive during the garbage collection process. However, the garbage collector is usually fast and takes well under a second to complete. When you omit this parameter, garbage collection will be non-blocking (concurrent), which enables threads to continue during garbage collection. If the -CompactSmallObjectHeap parameter is used, this parameter is ignored.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-CompactLargeObjectHeap
Specifies that the garbage collector should compact the large object heap. If you omit this parameter, large object heap collection is sweep-only. This parameter is ignored unless the -Blocking or -CompactSmallObjectHeap parameters are used.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-CompactSmallObjectHeap
Specifies that the garbage collector should compact the small object heap. Garbage collection will be blocking even if the -Blocking parameter isn't used. If you omit the -CompactSmallObjectHeap parameter, the small object heap collection is sweep-only.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Forces the command to run without asking for user confirmation.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Generation
Specifies the number of the oldest generation to be collected. Valid options are 0, 1, or 2. For an in-depth description of heap generation: https://go.microsoft.com/fwlink/?linkid=2119529
Type: | Int32 |
Position: | Named |
Default value: | 2 |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ServerInstance
Specifies the name of a Business Central Server instance, for example, BusinessCentral or myinstance. You can specify either the full name of an instance, such as BusinessCentralServer$myinstance or the short name, such as myinstance.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
System.String
By value and property name: ServerInstance
System.Management.Automation.SwitchParameter
By property name: Blocking
System.Int32
By property name: Generation
System.Management.Automation.SwitchParameter
By property name: CompactSmallObjectHeap
System.Management.Automation.SwitchParameter
By property name: CompactLargeObjectHeap