Why do PC's get sluggish over time?
Simply put, the more programs your PC is running, the slower it becomes. First, and most importantly, sluggishness is primarily caused by the amount and types of programs (interconnected processes) that actively run on a PC at any given time. Programs include both standalone processes, services as well as hooked libraries that run within the context of another processes (such as toolbars and other add-ins). Simply the more programs your PC is running, the slower it becomes. Secondly, PC sluggishness is caused by the sheer amount of clutter that accumulates over time. Clutter comes in the many shapes and sizes; from hard drive defragmentation to settings and configurations. (In the case of the Windows registry, let’s not confuse Boost with a registry "fixer". While improper registry settings could cause some minor problems with your PC's operation, they account for less than half a percent of PC instability, and don't affect performance in any way.) Also, it is important to understand that not all PCs are equal, hardware and the current Windows OS have a lot to do with the equation. Some PCs have absolutely no problem running hundreds of programs at once, while others only have the strength to run just a few. Some PCs can run most antivirus programs without a hitch while others slow down to a crawl. Unlike many "PC cleaners", Boost addresses the root causes of a PC's problems in relation to its maximum strength, making very informed decisions on a case by case basis.
So, how does Boost increase performance and stability?
Boost constantly analyzes how you use your PC and what programs are causing it to become sluggish and unresponsive over time. Boost's patent pending technology helps optimize your computer in several ways; from active performance monitoring and real-time analysis to taking performance snapshots and feeding them anonymously through Boost Connect for offline analysis, Boost can make immediate or time-based corrections to your PC using its advanced force feedback system.
Boost measures performance based on how quickly your PC can complete program and system tasks. Overall PC performance might be limited by the speed of the physical hard disks, the amount of memory available to all running processes, the top speed of the processor, or the maximum throughput of your network interfaces. The reliability of a PC is the measure of how often your PC's system operates as it is configured and expected to perform. Reliability can be reduced when programs become sluggish, unresponsive or just stop responding, when services stop and restart, drivers fail to initialize, or in the worst case, when Windows crashes with a blue screen. Monitoring your PC's performance involves observing a PC both as a whole and as a collection of its individual parts such as processes, programs and services.
With regular performance snapshots over a wide distribution of activities and loads, Boost creates a baseline; a range of measurements that represent acceptable performance levels under typical operating conditions, which provides a reference point that makes it easier to spot bottlenecks when they occur (a bottleneck is a resource that constrains throughput within a program that may include system resources such as CPU, memory, disk I/O, and network I/O). In addition, as Boost troubleshoots system problems, these performance snapshots provide Boost with the necessary information about the behavior of system resources at the time the problem occurs, which quickly pinpoints the root cause. Additionally, Boost's performance monitoring provides the necessary data to generate predictions and to plan for how changes in your system configurations and additions or removal of programs might affect future operation. Lastly, these performance snapshots are feedback into the Boost Connect community anonymously (if you opt-in of course) to help determine cause and effect of interrelated programs and how they might impact performance.
Boost uses (patent pending) advanced technology called Boost Trace, designed to analyze your PC and the programs that utilize your system resources. At the heart of Boost is a monitoring and tuning engine that manages every aspect of the interaction of programs, its containing processes, threads, jobs and handles that consume resources such as memory, process CPU, disk I/O and Windows configuration settings. By interacting with Windows in both user and kernel modes, Boost can interactively tune programs in real-time in order to optimize your system's precious resources and restore stability to your PC. If you are a PC power user you can use Boost Trace directly and quickly discover how your PC is working with the available resources at hand. Want to know more about Boost Trace and how it works?
Intelligent process scheduling
The Windows system scheduler controls multitasking by determining which of the competing threads receives the next processor time slice. Windows scheduler determines which thread runs next using scheduling priorities. By utilizing a number of algorithms, Windows attempts to determine what threads across all processes should run on what processor and in which order they will execute on. However, Windows has very little information other then what the process itself tells Windows by setting its own priorities. Boost takes this one step further by dynamically tuning all aspects of thread scheduling from learned behaviors as well as a very in-depth knowledge base of tuning instructions (Boost is updated multiple times a day with this information).
With Boost's scheduling engine, an immediate determination can be made on what process and its threads are consuming your PC's resources and dynamically reschedule its priorties in real-time giving processes that truly need to perform critical operations the power to do so. For example if a non-critical program is consuming more then expected CPU time, Boost will automatically fine tune the process to utilize less resources through a number of means such as priority scheduling or contraining the process to run on a specific CPU allowing important programs to access more CPU time.
Boost's Process Scheduling Manager enables critical programs to ensure that their time-sensitive processing receives prioritized access to CPU resources. This service enables such programs to utilize as much of the CPU as possible without denying CPU resources to lower-priority programs. Boost uses a constantly updated knowledge base as well as learned behavior based on how you utilize your PC to identify important tasks and determine the relative priority of threads performing these tasks.
Users expect priority and critical programs, such as multimedia and foreground programs, to offer a seamless experience such as playing a movie, listening to music or working on an Office document. However, demand for the CPU by other concurrently running programs, like antivirus, content indexing, or even the mail client, can result in noticable PC sluggishness. To provide a better experience, Boost will intelligently tune programs so that critical process get the CPU time they need and to ensure that other processes get at least some CPU time so that the system and other programs remain responsive.
Boost not only fine tunes critical foreground processes, the program that has the immediate mouse and keyboard input, but more importantly intelligently tunes background processes that might be interfering with the foreground program by manipulating the priority class, page and I/O priorities of background programs that are interfering with your PC's responsiveness. By utilizing "learned" algorithms based on how your individual PC works, Boost's tuning helps the responsiveness of the foreground program while not impacting the functionality of any background tasks. In addition, Boost's priority tuning works in real-time and all adjustments are temporary based on your PC's immediate conditions.
Boost Process Scheduling Manager
- Dynamically adjusts process and thread scheduling priorities
- Tunes context switching
- Real-time dynamic priority boosting
- Manages priority inversion and contention
- Intelligent processor affinity management
- Optimizes thread ordering
- Smart process CPU rate throttling
- Manages CPU, GPU, page and I/O priorities
Memory monitoring and tuning
During typical monitoring of your PC, Boost assesses available memory and watches out for the effects of a memory shortage, a common cause of poor performance. By examining the effectiveness of the file system cache — an area of physical memory where recently used data read from or written to the disk is mapped for quick access, Boost helps determine how to allocate memory to programs that require it the most creating a memory distribution queue in which Boost can hand out memory to starving programs when needed.
Low memory conditions can slow the operation of programs and services on your computer and impact the performance of other resources in your system. For example, when your PC is low on memory, paging — that is, the process of moving virtual memory back and forth between physical memory and the disk — can be prolonged, resulting in more work for your disks. Because it involves reading and writing to disk, this paging activity might have to compete with whatever other disk transactions are being performed, intensifying a disk bottleneck (A disk bottleneck occurs when disk performance decreases to the extent that it affects overall system performance.) In turn, all this work by the disk can mean the processor is used less or is doing unnecessary work, processing numerous interrupts due to repeated page faults. (Page faults occur when the system cannot locate requested code or data in the physical memory available to the requesting process.) In the end, programs and services become less responsive. When this condition occurs Boost automatically determines how to re-allocate system memory and provide it to programs that actively need it.
By observing memory characteristics of processes using a variety of internal instrumentation, Boost monitors the working sets of memory allocation (the working set of a process is the amount of physical memory assigned to that process by Windows) and when memory is in short supply, Boost assesses how to trim the working sets of processes before allowing paging to occur, which can lead to significant PC sluggishness.
Boost Memory Manager
- Reduces and prioritizes runtime memory
- Reallocates memory to starving processes
- Reduces working set consumption of pending background processes
- Optimizes disk paging
Processor monitoring and tuning
After memory consumption, processor activity is the most important aspect of a PC that Boost constantly monitors and fine tunes. A busy processor might be efficiently handling all the work on your computer, or it might be overwhelmed. By examining overall processor usage such as observing processor queue length (indicates the number of threads that are waiting to be run by the processor but not able to be executed because another active thread is currently executing) and processor utilization (also referred to as processor time), Boost obtains an overview of how heavily system resources are used. Additionally Boost analyzes activity that adds to the processing load, such as high rates of interrupts and context switches (excessive context switching reduces performance because instead performing actual work, the process is spending all of its time switching various code and data pages in and out of its memory to cache, RAM, or even to disk causing the system to thrash). By monitoring your PC's processor activity, Boost can make immediate adjustments to how processing is performed to alleviate excessive load. For instance if Boost sees a background process performing excessive context switching it can reducing the total number of active threads the process is utilizing or can dynamically adjust tasking priorities.
By also examining programs and program's process threads (the units of work that make up a process—for each individual process and each thread's processor usage), Boost can evaluate thread priorities and change them in real-time based on deep analysis from the knowledge base to instantly provide better performance without the need to kill a running program. Boost's internal "dynamic program analysis engine" tests the behavior, performance and correctness of individual programs to determine how well they perform and what functions behave well or poorly under various conditions by safely injecting Boost's monitoring instrumentation into a program process.
In addition to Boost's internal analysis instrumentation, Boost implements a sophisticated performance tuning engine which is the core to weeding out bad programs that are causing system-wide performance issues. The patent pending Boost Core uses an advanced debugging mechanism that can examine the call stack of any running process and determine what exactly within the program's code is causing it to behave poorly. (A call stack traces the code paths being executed within a process at a particular point in time. Executable code in a process is organized as a collection of functions designed to perform a task where as one function can invoke another function either internally or externally and as a function finishes it returns control back to the function that called it. The call stack allows the system to know how to return control to a series of callers.) With this information Boost can dynamically detect and break deadlocks, spinlocks and livelocks by attempting one-by-one back-off of the locks that a rouge program has accumulated, or can identify what functions a program is executing that is causing it to slowdown by examining the program’s active call stack.
Boost Process Manager
- Handles cross program interactions
- Determines program, process and thread priorities
- Manages processor queue lengths
- Reduces interrupt latency rates
- Optimizes context switching
- Uses tracing to monitor a program's calls stack
- Detects and breaks deadlocks
- Tracks and plug GDI leaks
- Manages process affinity
- Regulates program behaviors
- Improves program inter-relationships
Disk I/O monitoring and tuning
The disk system handles the storage and movement of programs and data on your system, giving it a powerful influence on your system's overall responsiveness. Because a typical physical hard disk is the slowest component of a PC, disk monitoring and tuning is extremely important when increasing the performance of a PC. Boost is constantly observing many factors in determining the performance of a disk system. These include the level of utilization, the rate of throughput, the amount of disk space available, and whether a queue is developing within disk systems. Additionally Boost monitors other types of activity that arise from disk operations, such as interrupts generated by the disk system and paging activity, because of their influence on other resources, such as processor or memory.
Many of these factors are interrelated. For example, if utilization is high, transfer rates (throughput) might peak, and a queue might begin to form. These conditions might result in increased response time and cause performance to slow. Although disk space doesn't directly affect the disk's transfer rate, when extremely low, disk space can also have an influence on response time because programs that read and write data can't do so as efficiently. Boost detects these performance issues through monitoring before they cause problems as well as takes actions to prevent such problems from arising.
The symptoms of a memory shortage are very similar to those of a disk bottleneck. When physical memory is scarce, the system starts writing the contents of memory to disk and reading in smaller blocks more frequently (this process is called paging). The less memory a process has, the more the disk is used, resulting in a greater load on the disk system. By understanding the causes of these bottlenecks and the interaction of programs Boost can quickly respond to these system changes and make the appropriate modifications.
Another factor in disk performance is the state of the file-system. While file-systems are usually built using very smart algorithms, all algorithms slow down as they have to crunch more data. The more files you get on a disk, the slower file look up and access becomes. Boost helps you free up space on the systems hard disk by searching the disk for files that can be safely deleted such as temporary files to bits and pieces of left over program clutter from previous installation that are no longer utilized. Although usually taken for granted, smart disk cleanup and decluttering is an important factor is improving the speed of your PC.
Boost Disk I/O Manager
- Manages disk utilization by eliminating I/O calls
- Reduces disk queues by optimizing transfer sizes
- Increases disk throughput by managing the buffer cache
- Improves the general file-system state
Program monitoring, tuning and removal
Boost allows you to easily manage the programs that launch when Windows boots; ensuring faster start-up time and improving overall system stability. Nearly every program you install these days wants to embed itself in your PC's start-up routine, noticeably slowing your computer's boot up and shutdown time. Software publishers often set their programs to open in the background, where you can't see them running, so they'll open right away when you click their icons. That's helpful for programs you use a lot or really need to run, but for programs you rarely or never use, this wastes precious memory and slows down the time it takes Windows to finish starting up. Boost both automatically removes as well as helps you visualize all of the programs attempting to launch at Windows start-up and allows you to choose which programs are allowed to load automatically (or at all). By understanding how long individual programs take to load as well as the impact to overall system they present, Boost can make real-time determinations of what can stay and what needs to go without affecting your core system by delivering intelligent analysis of the boot process according to the PC’s level of responsiveness to user interaction.
In addition to active real-time monitoring and corrective tuning, Boost also takes a number of alternative steps to help restore performance and reliability to your PC. One such task in analyzing what programs are installed and running on your computer and removing (with your permission) software that is deemed unwanted, unnecessary, crapware or trailware, also known as bloatware. This "bloatware" (the term used to describe resource-draining, pre-installed software that the average consumer never uses) has a negative impact on your PC's performance and increases your start-up and shutdown times, fills up your task bar, clutters your desktop, prompts you with annoying pop-ups, adds unnecessary toolbars, and runs endless processes in the background and foreground contributing to your PC's sluggishness. Boost's massive knowledge base powered by Boost Connect
tracks programs the fall within any of these categories and determines how they affect your system and cleanly removes them from your PC.
Boost Program Manager
- Manages program start-ups to reduce boot times
- Delays long running start-ups such as updaters
- Improves your ongoing PC experience by removing unnecessary resources
- Intelligently limits what programs run at boot time
- Removes pre-installed un-used manufacturer bloatware
- Removes long expired trialware
- Removes crapware programs you never use, or plan on using
- Simply removes all the clutter on your desktop
Network monitoring and tuning
Communication across a network is increasingly important to many programs. Similar to processors or disks on your system, the behavior of the network has an impact on the operation of your PC. Boost helps to optimize your system's health by analyzing network performance, such as monitoring network traffic and resource utilization, all of which can affect your hardware and software network interfaces. Tuning can be as simple as limiting "chatty" programs from constantly broadcasting, to fine tuning software drivers that control your network communication stack.
Many of us run antivirus/antispyware programs on our PCs. Well, if you don't, you really should (we recommend the free anti-malware software Microsoft Security Essentials
). Unlike most of the anti-malware products on the market which only attack programs that are known to be malicious, Boost goes one step further (yes, Boost also removes all the viruses, trojans, spyware and adware on your PC), by removing all the known crapware programs from your PC as well. Crapware is a major contributor of PC sluggishness and system crashes. Have you ever installed a highly recommended program from the likes of download.com to come find out that a bunch of other programs are now running on your PC such as annoying toolbars in your browser and so forth? Well, these are the types of crapware that Boost will take care of. By monitoring tens of thousands of programs, Boost determines exactly which ones are considered crapware and will often automatically remove them. In other cases, Boost will simply classify other programs that are potentially unwanted and help you make a decision of whether you want to keep them or not.
By monitoring tens of thousands of programs, Boost determines exactly which ones are considered crapware and will automatically remove them for you. In other cases, Boost will simply classify other programs that are potentially unwanted and help you make a decision of whether you want to keep them or not.
is a knowledge base of PC program behavior data built automatically through the usage of Boost (if you decide to opt-in of course). By utilizing this ever-growing knowledge base, Boost can make assumptions of what combination of programs are causing performance and stability issues and devise strategies of how to correct these issues. The entire Boost Connect knowledge base is stored within a highly aggregated multidimensional database structure allowing for the delivery of complex answers very quickly without weeks or even months of on-going determinations. Boost updates its knowledgebase multiple times a day!
The Boost Connect knowledge base uses predictive analytics with a variety of statistical modeling and data mining techniques by analyzing current and historical facts in order to identify performance risks and opportunities and deliver actions back to all Boost users. These models capture relationships among many factors about program interactions to allow assessment of performance risks associated with a particular set of conditions, guiding decision making and suggested actions.
Boost Connect tracks multiple data points and how they interact with the system individually and collectively. Through this interaction and the uniqueness of each process we are able to establish a "DNA" of sorts for each object (process/library, etc.). This DNA feeds the knowledge base with information about how a program starts, runs, ends, to how stable it is, and ultimately if it crashes, and what the cause was. Such detailed analysis, which we make 100% transparent online, helps makes determinations and assumptions of the impact of a given program and how it can affect your PC's overall health. See an example of a version of Windows Internet Explorer.