ACC: Microsoft Access Shows 100% CPU Utilization During Idle Time (160819)



The information in this article applies to:

  • Microsoft Access 2.0
  • Microsoft Access for Windows 95 7.0
  • Microsoft Access 97

This article was previously published under Q160819
Moderate: Requires basic macro, coding, and interoperability skills.

SYMPTOMS

When you use System Monitor in Microsoft Windows 95, Microsoft Windows 98, and Microsoft Windows Millennium Edition (Me) or Performance Monitor in Microsoft Windows NT and Microsoft Windows 2000 to track CPU usage, Microsoft Access is reported to use 100 percent of CPU resources even though it appears that Microsoft Access is idle.

CAUSE

During idle time, Microsoft Access continuously polls its message queue to check for keyboard and mouse activity.

STATUS

This behavior does not occur in Microsoft Access 2000.

MORE INFORMATION

Microsoft Access was originally designed to operate in the cooperative multitasking environment that Microsoft Windows 3.x provides. The idle processing code built into Microsoft Access was designed to make sure that Microsoft Access does not start processing background tasks during brief periods of inactivity, such as when a user pauses between keystrokes. In the preemptive multitasking environment of Windows 95, Windows 98, Windows Millennium Edition, Windows NT, and Windows 2000, this idle processing code causes Microsoft Access to use 100 percent of CPU resources briefly during idle time.

Note Windows 95 uses preemptive multitasking for 32-bit Windows applications and, for backward compatibility, uses cooperative multitasking for 16-bit Windows applications (applications that are written for Windows 3.x).

Microsoft Access polls its message queues for activity for about the first 30 seconds of idle time. During this time, Performance Monitor reports that Microsoft Access is using 100 percent of CPU resources.

Note Microsoft Access only uses CPU resources that are idle. If your computer has other processes that are ready to run, it will run them. Microsoft Access does not decrease the performance of other applications as it polls its message queues.

Steps to Reproduce the Behavior

  1. In Microsoft Windows 2000, start the Task Manager, and then click the Performance tab.
  2. Start Notepad.
  3. Start Access and make sure that it is running in a non-maximized window.
  4. Open the sample database Northwind.mdb.
  5. Open the Shippers table and enter at least one new record.
  6. Switch to Notepad.
Notice the CPU usage history. For first 20 to 30 seconds of the time that Access loses focus, there should be a 100 percent processor spike.

Modification Type:MajorLast Reviewed:9/29/2003
Keywords:kbenv kbprb KB160819