DESKTOP

Windows Home Server 2011 : Monitoring Performance (part 1) - Monitoring Performance with Task Manager - Monitoring Processes

9/27/2013 1:59:48 AM

Performance optimization is a bit of a black art in that every user has different needs, every configuration has different operating parameters, and every system can react in a unique and unpredictable way to performance tweaks. What this means is that if you want to optimize your system, you have to get to know how it works, what it needs, and how it reacts to changes. You can do this just by using the system and paying attention to how things look and feel, but a more rigorous approach is often called for. To that end, the next few sections take you on a tour of Windows Home Server’s performance monitoring capabilities.

1. Monitoring Performance with Task Manager

The Task Manager utility is excellent for getting a quick overview of the current state of the system. To get it onscreen, press Ctrl+Alt+Delete, and then click Task Manager.

Tip

For faster service, either press Ctrl+Shift+Esc or right-click an empty section of the taskbar and then click Task Manager.


1.1 Monitoring Processes

The Processes tab, shown in Figure 1, displays a list of the programs, services, and system components that are currently running on your system. The processes appear in the order in which they were started, but you can change their order by clicking the column headings. (To return to the original, chronological order, you must close and restart Task Manager.)

Figure 1. The Processes tab lists your system’s running programs and services.


Note

In the list of processes, you’ll likely see several instances of svchost.exe. This is a program that acts as a host process for services that run from dynamic-link libraries (DLLs) instead of from executable files. To see which services the various instances of svchost.exe are running, start a command prompt session and enter the following command:

tasklist /svc

This displays a list of all the running processes and includes a column that displays the services that are hosted in each process.


In addition to the name of each process and the user who started the process, you see two performance measures:

  • CPU— The values in this column tell you the percentage of CPU resources that each process is using. If your system seems sluggish, look for a process that is consuming all or nearly all the CPU’s resources. Most programs monopolize the CPU occasionally for short periods, but a program that is stuck at 100 (percent) for a long time most likely has some kind of problem. In that case, try shutting down the program. If that doesn’t work, click the program’s process and then click End Process. Click Yes when Windows Home Server asks whether you’re sure that you want to do this.

  • Memory (Private Working Set)— This value tells you approximately how much memory the process is using. (See the following discussion for a more detailed explanation.) This value is less useful because a process might genuinely require a lot of memory to operate. However, if this value is steadily increasing for a process that you’re not using, it could indicate a problem, and you should shut down the process.

Tip

You can control how often Task Manager refreshes its data. Select View, Update Speed, and then select High (Task Manager refreshes the data twice per second), Normal (Task Manager refreshes the data every 2 seconds; this is the default), or Low (Task Manager refreshes the data every 4 seconds). If you want to freeze the current data, select Paused. You can also refresh the data at any time by selecting View, Refresh Now.


The four default columns in the Processes tab aren’t the only data available to you. Select the View, Select Columns command. As you can see in Figure 2, the Select Columns dialog box that Task Manager opens has a long list of values that you can monitor. To add a value to the Processes tab, activate its check box and click OK.

Figure 2. Use the Select Columns dialog box to choose which values you want to monitor using the Processes tab.


Here’s a summary of the columns you can add:

  • PID (Process Identifier)— This is a unique numerical value that Windows Home Server assigns to the process while it’s running.

  • User Name— This value tells you the name of the user or service that launched the process.

  • Session ID— This is a unique numerical value that Windows Home Server assigns to the process while it’s running within a Terminal Services session (such as if a user is running Windows Home Server Dashboard or has logged on to Windows Home Server via Remote Desktop).

    Tip

    To see the Session ID values, activate the Show Processes from All Users check box.


  • CPU Usage— This is the CPU value discussed earlier in this section.

  • CPU Time— This column shows the total time (in hours, minutes, and seconds) that the process has used the CPU since the process was launched. Because most computers (including Windows Home Server) don’t access the processor constantly, the CPU is usually idle, which means the System Idle Process almost always shows the lion’s share of the CPU Time value. However, if you see another process that seems to have used an inordinate amount of CPU time (for example, hours of CPU time, when all other processes have used only minutes or seconds of CPU time), it could mean that the process is frozen or out of control and should be shut down.

  • Memory - Working Set— This value tells you the size (in kilobytes) of the working set, which is the number of kilobytes the process currently has resident in memory).

    Note

    The memory values are listed in kilobytes. To convert to megabytes, divide by 1,024.


  • Memory - Peak Working Set— This value tells you the maximum amount of memory (in kilobytes) used by each process. For most processes, the current working set value should be quite a bit less than the peak working set value. If a process is showing a current working set value at or very near the peak over a long period of time, it could be a sign that the process is stuck or has a memory leak.

  • Memory - Working Set Delta— This value tells you how much the Memory Usage value changed (in kilobytes) since the last time Task Manager updated the processes. You see a positive value when memory use increases and a negative value when memory usage decreases. Under normal conditions, a program might show gradually increasing memory usage as more resources are used, and gradually decreasing memory usage as files and other objects are closed. If you see a process that has a constantly positive Delta value, particularly when it’s not obvious that the process is being used, it might be the sign of a memory leak in the process.

  • Memory - Private Working Set— This value tells you the amount of working set memory that is dedicated to the process and cannot be shared with other processes. The difference between the full working set and the private working set is the amount of memory that the process is using that can be shared with other processes. Because shareable memory is, in a sense, available memory, the private working set is more useful as a measure of how much memory a process is currently consuming (hence, this value’s status as a default Task Manager column).

  • Memory - Commit Size— This value shows the total amount of virtual memory, in kilobytes, that Windows Home Server has allocated to each process. If page faults are high (see the Page Faults bullet), it could be due to a process using a large amount of virtual memory. Consider ending and restarting that process.

    Note

    Your computer can address memory beyond what is physically installed on the system. This nonphysical memory is called virtual memory, and it’s implemented by using a piece of your hard disk that’s set up to emulate physical memory. This hard disk storage is actually a single file called a paging file (or sometimes a swap file). When physical memory is full, Windows Home Server makes room for new data by taking some data that’s currently in memory and swapping it out to the paging file.


  • Memory - Paged Pool— This value is the amount of virtual memory, in kilobytes, that Windows Home Server has allocated to the process in the paged pool—the system memory area that Windows Home Server uses for objects that can be written back to the disk when the system doesn’t need them. The most active processes have the largest paged pool values, so it’s normal for this value to increase over time. However, it’s unusual for any one process to have a significantly large paged pool value. You can improve performance by shutting down and restarting such a process.

  • Memory - Non-Paged Pool— This value is the amount of virtual memory, in kilobytes, that Windows Home Server has allocated to the process in the nonpaged pool—the system memory area that Windows Home Server uses for objects that must remain in memory and so can’t be written back to the disk when the system doesn’t need them. Because the nonpaged pool takes up physical RAM on the system, if memory is running low, processes that require a lot of nonpaged pool memory could generate lots of page faults and slow down the system. Consider closing some programs to reduce memory usage.

  • Page Faults— This value tells you how often each process has requested a page from virtual memory and the system couldn’t find the page. (A page is an area of virtual memory used to transfer data between virtual memory and a storage medium, usually the hard disk.) The system then either retrieves the data from another virtual memory location (this is called a soft page fault) or from the hard disk (this is called a hard page fault). Lots of hard page faults can slow down overall system performance and may be a sign that your system doesn’t have enough memory or that the virtual memory paging file isn’t big enough.

    Note

    Unfortunately, Task Manager doesn’t give you any way to differentiate between soft page faults and hard page faults.


    Note

    If you display the Page Faults column, you may notice that the Windows shell process (explorer.exe) seems to constantly accumulate page faults. (To see this, it helps to display the Page Faults Delta column, described next.) In fact, the Page Fault value increases every 2 seconds. Does this mean explorer.exe has a problem? Not at all. The page faults are caused by Task Manager, which causes an explorer.exe page fault every time it updates the CPU Usage value. Because that happens every 2 seconds (assuming that Task Manager’s update speed is set to Normal), the explorer.exe Page Faults value also increases every 2 seconds.


  • Page Faults Delta— This value tells you how much the Page Faults value changed since the last time Task Manager updated the processes. Because the total number of page faults can never decrease, this will always be either 0 or a positive number. A process that shows a consistently high Page Faults Delta value might not have enough memory to run properly. Consider shutting down the process and starting it again.

  • Base Priority— This value shows you the priority level that each process uses.

  • Handles— This value shows you the number of object handles in the object table associated with each process. An object handle is an index that points to an entry in a table of available objects, and it enables programs to interface with those objects. Handles take up memory, so a process with an inordinately large handle count could adversely affect system performance.

  • Threads— This value tells you the number of threads that each process is using. A thread is a program task that can run independently of and (usually) concurrently with other tasks in the same program (in which case, the program is said to support multithreading). Multithreading improves program performance, but programs that have an unusually large number of threads can slow down the server because Windows has to spend too much time switching from one thread of execution to another.

  • USER Objects— This value tells you the number of interface objects (which are part of User, a core system component used by applications and other processes that impact the user) that the process is using. Interface objects include windows, menus, cursors, icons, monitors, keyboard layouts, and other internal objects. If performance is slow, look for the process that has the highest USER Objects value and close it. (The exception here is the explorer.exe process, which usually has a high number of USER objects, but because it represents the Windows Home Server shell, you should never close it.)

  • GDI Objects— This value shows the number of graphics device interface (GDI) objects that each process is currently using. The GDI is a core Windows component that manages the operating system’s graphical interface. It contains routines that draw graphics primitives (such as lines and circles), manage colors, display fonts, manipulate bitmap images, and interact with graphics drivers. A process that uses an unusually large number of GDI objects can slow down the system.

  • I/O Reads— This value shows the total number of input/output (I/O) operations that the process has used to read data since the process was started. The total includes reads from local files, network files, and devices, but not reads from the console input object, which includes the keyboard. Some processes generate tens or even hundreds of thousands of I/O reads, so this value isn’t very useful in monitoring performance.

  • I/O Writes— This value shows the total number of input/output operations that the process has used to write data since the process was started. The total includes writes to local files, network files, and devices, but not writes to the console input object, which includes the monitor. Some processes generate tens or even hundreds of thousands of I/O writes, so this value isn’t very useful in monitoring performance.

  • I/O Other— This value shows the total number of non-read and non-write input/output operations that the process has used since the process was started. Examples include starting another process, stopping a running process, requesting the status of a device, and other control functions.

  • I/O Read Bytes— This value shows the total number of bytes generated by the read in input/output operations since the process was started. Again, because you often see I/O Ready Bytes values in the hundreds of millions or even billions, this value isn’t much use for performance monitoring.

  • I/O Write Bytes— This value shows the total number of bytes generated by the write input/output operations since the process was started. Because you often see I/O Write Bytes values in the hundreds of millions or even billions, this value isn’t much use for performance monitoring.

  • I/O Other Bytes— This value shows the total number of bytes generated by non-read and non-write input/output operations since the process was started.

  • Image Path Name— This column informs you of the full path name (drive, folder, and filename) of the process executable.

  • Command Line— This column tells you the command that was used to launch the process.

  • User Account Control (UAC) Virtualization— This column tells you whether the process is allowed to be virtualized, which means that Windows Home Server creates virtual copies of the process for use during a program install where no user credentials have been given.

  • Description— This default column specifies the name of the process.

  • Data Execution Prevention— This column tells you whether DEP is enabled for the process.

Other  
  •  Windows 8 : Managing User Access and Security - Managing Remote Access to Workstations (part 2)
  •  Windows 8 : Managing User Access and Security - Managing Remote Access to Workstations (part 1) - Configuring Remote Assistance
  •  Windows 8 : Managing User Access and Security - Managing Local User Accounts and Groups (part 3)
  •  Windows 8 : Managing User Access and Security - Managing Local User Accounts and Groups (part 2) - Creating Local Groups for Workstations
  •  Windows 8 : Managing User Access and Security - Managing Local User Accounts and Groups (part 1) - Creating Local User Accounts
  •  Windows 8 : Managing User Access and Security - Managing Stored Credentials
  •  Running a SharePoint Site on Windows Home Server : Creating Content for a SharePoint Site (part 2) - Maintaining a List of Contacts
  •  Running a SharePoint Site on Windows Home Server : Creating Content for a SharePoint Site (part 1) - Storing Images in a Picture Library , Tracking Appointments with a Calendar
  •  Running a SharePoint Site on Windows Home Server : Working with Site Settings (part 4) - Working with Permissions
  •  Running a SharePoint Site on Windows Home Server : Working with Site Settings (part 3) - Working with Groups
  •  
    Most View
    The Performance Review Of AMD Radeon HD 7790 And Nvidia GeForce GTX 650 Ti BOOST (Part 4)
    The 50 Best Headphones You Can Buy (Part 2)
    Acer Aspire Timeline U M5-581TG - A Strange Laptop
    Windows Server 2008 and Windows Vista : Administering GPOs (part 2) - Starter GPOs
    SQL Server 2005 : Dynamic T-SQL - Supporting Optional Parameters (part 2) - Going Dynamic: Using EXECUTE
    All You Need To Know About iOS 6 (Part 1)
    Windows 8 MSI Slidebook S20 Ultrabook Review (Part 3)
    Mac User’s Guide: You Literally Can’t Buy A Crappy Mac (Part 3)
    BMW Z4 Versus Porsche Boxster S – Top Off The World (Part 2)
    Commercial Backup Utilities (part 1) - Full Support of Your Platforms, Backup of Raw Partitions
    Popular Tags
    Microsoft Access Microsoft Excel Microsoft OneNote Microsoft PowerPoint Microsoft Project Microsoft Visio Microsoft Word Active Directory Biztalk Exchange Server Microsoft LynC Server Microsoft Dynamic Sharepoint Sql Server Windows Server 2008 Windows Server 2012 Windows 7 Windows 8 Adobe Indesign Adobe Flash Professional Dreamweaver Adobe Illustrator Adobe After Effects Adobe Photoshop Adobe Fireworks Adobe Flash Catalyst Corel Painter X CorelDRAW X5 CorelDraw 10 QuarkXPress 8 windows Phone 7 windows Phone 8 BlackBerry Android Ipad Iphone iOS
    Top 10
    Review : Acer Aspire R13
    Review : Microsoft Lumia 535
    Review : Olympus OM-D E-M5 Mark II
    TomTom Runner + MultiSport Cardio
    Timex Ironman Run Trainer 2.0
    Suunto Ambit3 Peak Sapphire HR
    Polar M400
    Garmin Forerunner 920XT
    Sharepoint 2013 : Content Model and Managed Metadata - Publishing, Un-publishing, and Republishing
    Sharepoint 2013 : Content Model and Managed Metadata - Content Type Hubs