PoolMon Startup Command

To start PoolMon, type a command at the command line using the following syntax and parameters.

    poolmon [/iTag] [/xTag] [/g [PoolTagFile]] [/s[TSSessionID]] [ /p | /p /p ] [/e] [/( | /)]  [/t | /a| /f| /d | /b| /m] [/l] [/n [File]] [/? | /h] 

Parameters

/i
Displays only the allocations with the specified pool tag. You can have multiple /i parameters in a PoolMon command. Do not type a space between the /i and the Tag argument.

/x
Excludes allocations with the specified tag from the display. You can have multiple /x parameters in a PoolMon command. Do not type a space between the /x and the Tag argument.

Tag
Specifies a pool tag or pool tag pattern. Pool tags are case-sensitive. The Tag argument can include an asterisk (*) to represent zero or more instances of any character, or a question mark (?) to represent one instance of any character. Do not begin a tag with an asterisk.

/g
Adds a column to the display (Mapped_Driver) listing Windows components and commonly used drivers that assign each tag.

PoolTagFile
Specifies the path and file name of a formatted text file that lists the names of Windows components and commonly used drivers and the tag values they assign. This file is the data source for the Mapped_Driver column that appears when you use the /g parameter.

The default is pooltag.txt, a file provided by Microsoft. Pooltag.txt is included in Windows Driver Kit (WDK).

/s
Displays allocations from the Terminal Services session pools.

TSSessionID
Displays only allocations from the specified session pool. Do not type a space between the /s parameter and the TSSessionID argument.

/p
Displays only allocations from the nonpaged pool.

/p /p
Displays only allocations from the paged pool.

/e
Displays pool totals. The totals appear at the bottom of the display.

/( or /)
Turns on the sort-by-change mode. With /( or /), PoolMon sorts by the change in a value (allocation, free operations, and bytes), instead of the value. The change in each value is displayed in a parentheses after the value.

Use with /a, /f, /b or /m. For example, poolmon /a sorts the display by number of allocations, while poolmon /( /a sorts the display by the change in the number of allocations.

The left parenthesis and right parenthesis characters have the same effect and can be used interchangeably.

/t
Sorts alphabetically by tag name. This is the default.

/a
Sorts tags by the number of allocations.

/f
Sorts tags by the number of free operations.

/d
Sorts tags by the difference between bytes allocations and bytes freed.

/b
Sorts tags by bytes used.

/m
Sorts tags by bytes-per-allocation.

/l
Turns highlighting off. By default, PoolMon highlights values that have changed since the last update.

/n
Saves a snapshot of the PoolMon output to a file, instead of displaying it in a command window. You can include other command-line parameters to configure the output.

Because the snapshot data is static, the columns that show the change in values in the PoolMon display do not appear in a snapshot file.

File
Specifies the name and location of the snapshot file. The default is poolsnap.log.

/? or /h
Displays command-line syntax. The /? and /h parameters have the same effect and can be used interchangeably.

Comments

You can also use /g to display data from other files in the Mapped_Driver column by specifying a file name and location with poolcom /g filename.

Terminal Services session pool monitoring is available only on Windows Server 2003 and later versions of Windows.

The kernel-mode portions of the Win32 subsystem allocate memory from Terminal Services session pools only when the computer is configured as a Terminal Server. Otherwise, Windows allocates pool memory for Terminal Services from the system pool.