Terminal Server Performance Monitor Objects and Counters

Summary
A number of Performance Monitor objects and counters have been added toTerminal Server. This article describes all the new objects and countersand what they mean.
More information

OBJECT: Process (Existing Object)

ID Logon: Citrix-supplied process SessionID represents a unique logonoccurrence because a given account may have multiple logon instancessimultaneously. All processes related to a specific logon occurrence havethe same SessionID.

ID USER: Process owners Security ID. This information relates the processto a specific account in the system's security database. An account mayhave multiple occurrences (SessionIDs) active on the system at a time.

OBJECT: Session (New Object)

The instances available for the object counters are the currently runningsessions on the Terminal Server computer (both active and disconnected).

% Privileged Time: Privileged Time is the percentage of elapsed time thatthis process's threads have spent executing code in privileged mode. When aWindows NT system service is called, the service will often run inprivileged mode to gain access to system-private data. Such data isprotected from access by threads executing in user mode. Calls to thesystem may be explicit, or they may be implicit such as when a page faultor an interrupt occurs. Unlike some early operating systems, Windows NTuses process boundaries for subsystem protection in addition to thetraditional protection of user and privileged modes. These subsystemprocesses provide additional protection. Therefore, some work done byWindows NT on behalf of your application may appear in other subsystemprocesses in addition to the Privileged Time in your process.

% Processor Time: Processor Time is the percentage of elapsed time that allof the threads of this process used the processor to execute instructions.An instruction is the basic unit of execution in a computer, a thread isthe object that carries out instructions, and a process is the objectcreated when a program is run. Code carried out to handle certain hardwareinterrupts or trap conditions may be counted for this process.

% User Time: User Time is the percentage of elapsed time that thisprocess's threads have spent running code in user mode. Applications run inuser mode, as do subsystems like the Window Manager and the graphicsengine. Code carried out in user mode cannot damage the integrity of theWindows NT Executive, Kernel, and device drivers. Unlike some earlyoperating systems, Windows NT uses process boundaries for subsystemprotection in addition to the traditional protection of user and privilegedmodes. These subsystem processes provide additional protection. Therefore,some work done by Windows NT on behalf of your application may appear inother subsystem processes in addition to the Privileged Time in yourprocess.

Bitmap Hit Ratio: A higher hit ratio means better performance because datatransmissions are reduced. Low hit ratios are caused by the screen updatingwith new information that is either not reused, or is not used within thenumber of bytes available for the client cache. Increasing the size of theclient cache may help for certain applications.

Bitmap Hits: This is the number of bitmap hits from the cache. A higher hitratio means better performance because data transmissions are reduced. Lowhit ratios are caused by the screen updating with new information that iseither not reused, or is not used within the number of bytes configured inthe client cache. Increasing the size of the client cache may help forcertain applications.

Bitmap Reads: This is the number of bitmap references of the cache.

Brush Hit Ratio: A higher hit ratio means better performance because datatransmissions are reduced. Low hit ratios are caused by the screen updatingwith new information that is either not reused, or is not used within thenumber of bytes available for the client cache. Increasing the size of theclient cache may help for certain applications.

Brush Hits: A higher hit ratio means better performance because datatransmissions are reduced. Low hit ratios are caused by the screen updatingwith new information that is either not reused, or is not used within thenumber of bytes configured in the client cache. Increasing the size of theclient cache may help for certain applications.

Brush Reads: This is the number of brush references to the cache.

Elapsed Time: The total elapsed time (in seconds) this process has beenrunning.

Glyph Hit Ratio: A higher hit ratio means better performance because datatransmissions are reduced. Low hit ratios are caused by the screen updatingwith new information that is either not reused, or is not used within thenumber of bytes available for the client cache. Increasing the size of theclient cache may help for certain applications.

Glyph Hits: A higher hit ratio means better performance because datatransmissions are reduced. Low hit ratios are caused by the screen updatingwith new information that is either not reused, or is not used within thenumber of bytes configured in the client cache. Increasing the size of theclient cache may help for certain applications.

Glyph Reads: This is the number of Glyph references to the cache.

ID Process: ID Process is the unique identifier of this process. ID Processnumbers are reused, so they only identify a process for the lifetime ofthat process.

Input Async Frame Error: Number of input async framing errors. These can becaused by a noisy transmission line. Using a smaller packet size may helpin some cases.

Input Async Overflow: Number of input async overflow errors. These can becaused by a lack of buffer space available on the host.

Input Async Overrun: Number of input async overrun errors. These errors canbe caused by the baud rate being faster than the computer can handle or anon-16550 serial line being used. Overruns can also occur if too many high-speed serial lines are active at one time for the processors' power. Lookat the System Object percent processor time, as well as the number ofinterrupts per second rate. Use of intelligent multiport boards can reducethe number of interrupts that the host must service per second, cuttingdown on CPU overhead.

Input Async Parity Error: Number of input async parity errors. These erroscan be caused by a noisy transmission line.

Input Bytes: Number of bytes input on this Session that includes allprotocol overhead.

Input Compress Flushes: Number of input compression dictionary flushes.When the data can not be compressed, the compression dictionary is flushedso that newer data has a better chance of being compressed. Some causes ofdata not compressing includes transferring compressed files over ClientDrive Mapping.

Input Compressed Bytes: Number of bytes input after compression. Thisnumber compared with the Total Bytes input is the compression ratio.

Input Compression Ratio: Compression ratio of the server input data stream.

Input Errors: Number of input errors of all types. For example, some inputerrors are lost ACK's, badly formed packets, and so forth.

Input Frames: Number of frames (packets) input on this session.

Input Timeouts: This is the total number of timeouts on the communicationline as seen from the client side of the connection. These are typicallythe result of a noisy line. On some high-latency networks, this could bethe result of the protocol timeout being too short. Increasing the protocoltimeout on these types of lines will improve performance by reducingneedless retransmissions.

Input Waitforoutbuf: This is the number of times that a wait for anavailable send buffer was done by the protocols on the client side of theconnection. This is an indication that not enough memory buffers have beenallocated for the specific protocol stack configuration. Better performanceon high-latency networks can be achieved by specifying enough protocolbuffers so that this count remains low.

Input Wdbytes: Number of bytes input on this session after all protocoloverhead has been removed.

Input Wdframes: This is the number of frames input after any additionalprotocol-added frames have been removed. If Input Frames is a multiple ofthis number, then a protocol driver is breaking requests up into multipleframes for transmission. You may want to use a smaller protocol buffersize.

Output Async Frame Error: Number of output async framing errors. This couldbe caused by a hardware or line problem.

Output Async Overflow: Number of output async overflow errors.

Output Async Overrun: Number of output async overrun errors.

Output Bytes: Number of bytes output on this session that includes allprotocol overhead.

Output Compress Flushes: Number of output compression dictionary flushes.When the data can not be compressed, the compression dictionary is flushedso that newer data has a better chance of being compressed. Some causes ofdata not compressing includes transferring compressed files over ClientDrive Mapping.

Output Compressed Bytes: Number of bytes output after compression. Thisnumber compared with the Total Bytes output is the compression ratio.

Output Compression Ratio: Compression ratio of the server output datastream.

Output Errors: Number of output errors of all types. For example, someoutput errors are lost ACK's, badly formed packets, and so forth.

Output Frames: Number of frames (packets) output on this session.

Output Parity Errors: Number of output async parity errors. These can becaused by a hardware or line problem.

Output Timeouts: This is the total number of timeouts on the communicationline from the host side of the connection. These are typically the resultof a noisy line. On some high-latency networks, this could be the result ofthe protocol timeout being too short. Increasing the protocol timeout onthese types of lines will improve performance by reducing needlessretransmissions.

Output Waitforoutbuf: This is the number of times that a wait for anavailable send buffer was done by the protocols on the host side of theconnection. This is an indication that not enough memory buffers have beenallocated for the specific protocol stack configuration. Better performanceon high-latency networks can be achieved by specifying enough protocolbuffers so that this count remains low.

Output Wdbytes: Number of bytes output on this session after all protocoloverhead has been removed.

Output Wdframes: This is the number of frames output before any additionalprotocol frames have been added. If Output Frames is a multiple of thisnumber, then a protocol driver is breaking requests up into multiple framesfor transmission. You may want to use a smaller protocol buffer size.

Page Faults/Sec: Page Faults/sec is the rate of Page Faults by the threadsrunning in this process. A page fault occurs when a thread refers to avirtual memory page that is not in its working set in main memory. Thiswill not cause the page to be fetched from disk if it is on the standbylist and, hence, already in main memory, or if it is in use by anotherprocess with whom the page is shared.

Page File Bytes: Page File Bytes is the current number of bytes thisprocess has used in the paging file(s). Paging files are used to storepages of memory used by the process that are not contained in other files.Paging files are shared by all processes, and lack of space in paging filescan prevent other processes from allocating memory.

Page File Bytes Peak: Page File Bytes Peak is the maximum number of bytesthis process has used in the paging file(s). Paging files are used to storepages of memory used by the process that are not contained in other files.Paging files are shared by all processes, and lack of space in paging filescan prevent other processes from allocating memory.

Pool Nonpaged Bytes: Pool Nonpaged Bytes is the number of bytes in theNonpaged Pool, a system memory area where space is acquired by operatingsystem components as they accomplish their appointed tasks. Nonpaged Poolpages cannot be paged out to the paging file, but instead remain in mainmemory as long as they are allocated.

Pool Paged Bytes: Pool Paged Bytes is the number of bytes in the PagedPool, a system memory area where space is acquired by operating systemcomponents as they accomplish their appointed tasks. Paged Pool pages canbe paged out to the paging file when not accessed by the system forsustained periods of time.

Priority Base: The current base priority of this process. Threads within aprocess can raise and lower their own base priority relative to theprocess's base priority.

Private Bytes: Private Bytes is the current number of bytes this processhas allocated that cannot be shared with other processes.

Save Screen Bitmap Hit Ratio: A higher hit ratio means better performancebecause data transmissions are reduced. Low hit ratios are caused by thescreen updating with new information that is either not reused, or is notused within the number of bytes available for the client cache. Increasingthe size of the client cache may help for certain applications.

Save Screen Bitmap Hits: Save screen bitmap hits. A higher hit ratio meansbetter performance because data transmissions are reduced. Low hit ratiosare caused by the screen updating with new information that is either notreused, or is not used within the number of bytes configured in the clientcache. Increasing the size of the client cache may help for certainapplications.

Save Screen Bitmap Reads: This is the number of save screen bitmapreferences to the cache.

Thread Count: The number of threads currently active in this process. Aninstruction is the basic unit of execution in a processor, and a thread isthe object that carries out instructions. Every running process has atleast one thread.

Total Async Frame Error: Total number of async framing errors. These can becaused by a noisy transmission line. Using a smaller packet size may helpin some cases.

Total Async Overflow: Total number of async overflow errors. These can becaused by a lack of buffer space available on the host.

Total Async Overrun: Total number of async overrun errors. These can becaused by the baud rate being faster than the computer can handle, or a non-16550 serial line is used. Overruns can also occur if too many high-speedserial lines are active at one time for the processors power. Look at theSystem Object percent processor time, as well as the number of interruptsper second rate. Use of intelligent multiport boards can reduce the numberof interrupts that the host must service per second, cutting down on CPUoverhead.

Total Async Parity Error: Total number of async parity errors. These can becaused by a noisy transmission line.

Total Bytes: Total number of bytes on this session that includes allprotocol overhead.

Total Compress Flushes: Total number of compression dictionary flushes.When the data can not be compressed, the compression dictionary is flushedso that newer data has a better chance of being compressed. Some causes ofdata not compressing includes transferring compressed files over ClientDrive Mapping.

Total Compressed Bytes: Total number of bytes after compression. Thisnumber compared with the total bytes is the compression ratio.

Total Compression Ratio: Total compression ratio of the server data streamfor this session.

Total Errors: Total number of errors of all types. For example, some errorsare lost ACK's, badly formed packets, and so forth.

Total Frames: Total number of frames (packets) on this session.

Total Protocol Hit Ratio: This is the overall hit ratio of all protocolobjects. A higher hit ratio means better performance because datatransmissions are reduced. Low hit ratios are caused by the screen updatingwith new information that is either not reused, or is not used within thenumber of bytes available for the client cache. Increasing the size of theclient cache may help for certain applications.

Total Protocol Hits: Total protocol cache hits. The protocol caches windowsobjects that are likely to be reused to avoid having to re-send them on thetransmission line. For example, objects are Windows icons, brushes, and soforth. Hits in the cache represent objects that did not need to be resent.

Total Protocol Hits/Sec: Total protocol cache hits per second. The protocolcaches windows objects that are likely to be reused to avoid having tore-send them on the transmission line. For example, objects are Windowsicons, brushes, and so forth. Hits in the cache represent objects that didnot need to be resent.

Total Protocol Interval Hit Ratio: This is the overall hit ratio of allprotocol objects in the last sample interval. A higher hit ratio meansbetter performance because data transmissions are reduced. Low hit ratiosare caused by the screen updating with new information that iseither not reused, or is not used within the number of bytes available forthe client cache. Increasing the size of the client cache may help forcertain applications.

Total Protocol Reads: This represents the total protocol references to thecache.

Total Protocol Reads/Sec: This represents the total protocol references tothe cache per second.

Total Waitforoutbuf: This is the number of times that a wait for anavailable send buffer was done by the protocols on both the host and clientsides of the connection. This is an indication that not enough memorybuffers have been allocated for the specific protocol stack configuration.Better performance on high latency networks can be achieved by specifyingenough protocol buffers so that this count remains low.

Total Wdbytes: Total number of bytes on this session after all protocoloverhead has been removed.

Total Wdframes: This is the total number of frames input and output beforeany additional protocol frames have been added. If Total Frames is amultiple of this number, then a protocol driver is breaking requests upinto multiple frames for transmission. You may want to use a smallerprotocol buffer size.

Virtual Bytes: Virtual Bytes is the current size in bytes of the virtualaddress space the process is using. Use of virtual address space does notnecessarily imply corresponding use of either disk or main memory pages.Virtual space is however finite, and by using too much, the process maylimit its ability to load libraries.

Virtual Bytes Peak: Virtual Bytes Peak is the maximum number of bytes ofvirtual address space the process has used at any one time. Use of virtualaddress space does not necessarily imply corresponding use of either diskor main memory pages. Virtual space is however finite, and by using toomuch, the process may limit its ability to load libraries.

Working Set: Working Set is the current number of bytes in the Working Setof this process. The Working Set is the set of memory pages touchedrecently by the threads in the process. If free memory in the computer isabove a threshold, pages are left in the Working Set of a process even ifthey are not in use. When free memory falls below a threshold, pages aretrimmed from Working Sets. If they are needed, they will then be soft-faulted back into the Working Set before they leave main memory.

Working Set Peak: Working Set Peak is the maximum number of bytes in theWorking Set of this process at any point in time. The Working Set is theset of memory pages touched recently by the threads in the process. If freememory in the computer is above a threshold, pages are left in the WorkingSet of a process even if they are not in use. When free memory falls belowa threshold, pages are trimmed from Working Sets. If they are needed, theywill then be soft-faulted back into the Working Set before they leave mainmemory.

OBJECT: SYSTEM (Existing Object)

Active Session: This is the total number of active (logged on) sessions.

Inactive Session: This is the total number of inactive (not logged on)sessions.

Total Protocol Bytes/Sec: This is the total number of bytes transferred inthe system as result of session communications.

OBJECT: USER (New Object)

The instances available for the object counters are the current sessions'logged on users plus System and Idle.

% Privileged Time: Privileged Time is the percentage of elapsed time thatthis process's threads have spent carrying out code in privileged mode.When a Windows NT system service is called, the service will often run inprivileged mode to gain access to system-private data. Such data isprotected from access by threads executing in user mode. Calls to thesystem may be explicit, or they may be implicit such as when a page faultor an interrupt occurs. Unlike some early operating systems, Windows NTuses process boundaries for subsystem protection in addition to thetraditional protection of user and privileged modes. These subsystemprocesses provide additional protection. Therefore, some work done byWindows NT on behalf of your application may appear in other subsystemprocesses in addition to the Privileged Time in your process.

% Processor Time: Processor Time is the percentage of elapsed time that allof the threads of this process used the processor to carry outinstructions. An instruction is the basic unit of execution in a computer,a thread is the object that carries out instructions, and a process is theobject created when a program is run. Code carried out to handle certainhardware interrupts or trap conditions may be counted for this process.

% User Time: User Time is the percentage of elapsed time that thisprocess's threads have spent running code in user mode. Applicationsrun in user mode, as do subsystems like the Window Manager and thegraphics engine. Code running in user mode cannot damage the integrity ofthe Windows NT Executive, Kernel, and device drivers. Unlike some earlyoperating systems, Windows NT uses process boundaries for subsystemprotection in addition to the traditional protection of user and privilegedmodes. These subsystem processes provide additional protection. Therefore,some work done by Windows NT on behalf of your application may appear inother subsystem processes in addition to the Privileged Time in yourprocess.

Elapsed Time: The total elapsed time (in seconds) this process has beenrunning.

ID Process: ID Process is the unique identifier of this process. ID Processnumbers are reused, so they only identify a process for the lifetime ofthat process.

Page Faults/Sec: Page Faults/sec is the rate of Page Faults by the threadsexecuting in this process. A page fault occurs when a thread refers to avirtual memory page that is not in its working set in main memory. Thiswill not cause the page to be fetched from disk if it is on the standbylist and, hence, already in main memory, or if it is in use by anotherprocess with whom the page is shared.

Page File Bytes: Page File Bytes is the current number of bytes thisprocess has used in the paging file(s). Paging files are used to storepages of memory used by the process that are not contained in other files.Paging files are shared by all processes, and lack of space in paging filescan prevent other processes from allocating memory.

Page File Bytes Peak: Page File Bytes Peak is the maximum number of bytesthis process has used in the paging file(s). Paging files are used to storepages of memory used by the process that are not contained in other files.Paging files are shared by all processes, and lack of space in paging filescan prevent other processes from allocating memory.

Pool Nonpaged Bytes: Pool Nonpaged Bytes is the number of bytes in theNonpaged Pool, a system memory area where space is acquired by operatingsystem components as they accomplish their appointed tasks. Nonpaged Poolpages cannot be paged out to the paging file, but instead remain in mainmemory as long as they are allocated.

Pool Paged Bytes: Pool Paged Bytes is the number of bytes in the PagedPool, a system memory area where space is acquired by operating systemcomponents as they accomplish their appointed tasks. Paged Pool pages canbe paged out to the paging file when not accessed by the system forsustained periods of time.

Priority Base: The current base priority of this process. Threads within aprocess can raise and lower their own base priority relative to theprocess's base priority.

Private Bytes: Private Bytes is the current number of bytes this processhas allocated that cannot be shared with other processes.

Thread Count: The number of threads currently active in this process. Aninstruction is the basic unit of execution in a processor, and a thread isthe object that carries out instructions. Every running process has atleast one thread.

Virtual Bytes: Virtual Bytes is the current size in bytes of the virtualaddress space the process is using. Use of virtual address space does notnecessarily imply corresponding use of either disk or main memory pages.Virtual space is however finite, and by using too much, the process maylimit its ability to load libraries.

Virtual Bytes Peak: Virtual Bytes Peak is the maximum number of bytes ofvirtual address space the process has used at any one time. Use of virtualaddress space does not necessarily imply corresponding use of either diskor main memory pages. Virtual space is however finite, and by using toomuch, the process may limit its ability to load libraries.

Working Set: Working Set is the current number of bytes in the Working Setof this process. The Working Set is the set of memory pages touchedrecently by the threads in the process. If free memory in the computer isabove a threshold, pages are left in the Working Set of a process even ifthey are not in use. When free memory falls below a threshold, pages aretrimmed from Working Sets. If they are needed, they will then be soft-faulted back into the Working Set before they leave main memory.

Working Set Peak: Working Set Peak is the maximum number of bytes in theWorking Set of this process at any point in time. The Working Set is theset of memory pages touched recently by the threads in the process. If freememory in the computer is above a threshold, pages are left in the WorkingSet of a process even if they are not in use. When free memory falls belowa threshold, pages are trimmed from Working Sets. If they are needed, theywill then be soft-faulted back into the Working Set before they leave mainmemory.
Properties

Article ID: 186536 - Last Review: 06/22/2014 18:57:00 - Revision: 4.0

  • kbinfo KB186536
Feedback