dacs.doc electric

Not So Random Access
Episode I

by Bruce Preston

 

The February meeting was can celled due to inclement weather, so there was no Random Access Question and Answer session. Our editor has asked me to supply something to take its place for the month so here are some things that I think you might find interesting.

Why Does My Machine Run So Slow?

I got a call a few weeks ago from someone who had been given my name by one of my clients. His
complaint was that his machine was running extremely slowly, where before it had acceptable performance. He asked me to take a look. While this is not normally what I do, out of respect for my client I said I'd take a look.

When I got there, I spotted something immediately, even before he offered to demonstrate the
problem. His "System Tray" took up two-thirds the width of his "Task Bar." Nomenclature: The Task
Bar is the bar of buttons across the bottom (usually) of the screen that shows which applications you
are currently running. The System Tray is a subset of the task bar - to the right, that usually contains
the clock, the speaker volume control, and various "applets" that may be running. I asked him to
identify what they were - he couldn't, saying that they had "just appeared over time" as he installed
things on his system. I demonstrated that by hovering the mouse pointer over an icon in the System
Tray a "tool tip" would appear to identify the item. We found, for example, that he had four separate
and distinct "scheduler" applications for such things as mail, anti-virus, office task, etc. None of them
actually had scheduled tasks defined, but they were all running.

Before I showed him how to remove these things (how to do this follows later in this article) I went
to START / PROGRAMS /ACCESSORIES / SYSTEM TOOLS and launched the application "System
Monitor". This is a utility that comes with Windows that can measure various performance metrics
on your machine. If it isn't in your menu, you can selectively install it from Windows Setup. When
it starts, it will show you a moving chart for "Kernel Processor Usage" which relates how hard the
CPU in your machine is working. This can be interesting when the machine is working hard, but
should be boring when the machine is sitting "idle". Select the EDIT menu item, and "Add Item.."
then select "Memory Manager" and "Allocated Memory". Close the menu and you will see a second chart start to scroll across your screen from right to left. This chart shows how much memory is being used by the system for all applications, drivers, applets, etc. In the case of the machine in question, he had 120MB of memory allocated. A good trick, because the machine only had 64MB of RAM!

How could this be? The answer is "Virtual Memory" which is memory that doesn't really exist in
the machine's RAM instead, Windows moves copies of what it needs into the real RAM and puts
copies of what it currently doesn't need out on the disk in the "swap file." Windows doesn't really
know or care if an application is useful or not - as long as you have requested it to be run, it will start
it up, and allocate memory for it. If it doesn't have enough "real" memory it will use the swap file but
of course this has the disadvantage of severely degrading system performance.

Having identified where the bottleneck was, we then proceeded to ruthlessly eliminate the
components that we didn't need. The first thing to do is to remove things from the "Start Up" folder
that you don't need. My preferred approach is to create a folder named "Start Not" in the
C:\Windows\Start Menu\Programs folder this makes it a peer of the "Start Up" folder. You can do
this from within Windows Explorer by navigating to C:\Windows\Start Menu\Programs and then
selecting FILE / New / Folder and naming it "Start Not." Then drag the shortcut icons from the
"C:\Windows \Start Menu\Programs\ Start Up" to the new "Start Not" folder. Restart you machine and
you should see a greatly reduced number of applications in the System Tray.

But wait, there's more! Programs can also be launched from the C:\WINDOWS\WIN.INI file. This
is a text file that you can examine and modify via SYSEDIT. (START / RUN / SYSEDIT) [Note:
Win98 users: see "System Configuration Utility, below]. Near the top of the file you may see a line
reading "LOAD=" and a line reading "RUN=". These were the now obsolete mechanisms from
Windows 3.x, and were used to load device drivers or applications at Windows start up time. If you
are running Windows 9x, Windows Me, Windows NT, or Windows 2000, you probably really want to
examine these to see if you really want/need them. You can disable them by changing them to
comments by inserting a semi-colon character at the beginning of the line such as ";LOAD=xyz.exe."

Then restart your machine and verify that everything still works properly.

If LOAD= and RUN= are now obsolete, they have been replaced by shortcuts in the Start Up folder,
right? No, not necessarily. There are other, less well known mechanisms as well. For these you have to delve into the Windows Registery not for the faint-of-heart. Select START, then RUN, then type in REGEDIT. You will be presented with an interface that is similar to Windows Explorer a pair
of window frames with a "tree view" in the left window pane. (In the paragraphs that follow, when
I say "expand" I mean to either double-click on the icon or to click on the "+" character to the left of
the icon.) Expand "My Computer". Expand "HKEY_ LOCAL_ MACHINE." Expand "SOFTWARE."
Expand "Microsoft." Expand "Windows." Expand "Current Version." You should now see folders for
"Run," "RunOnce," "RunOnceEx," "Run Services" and "RunServicesEx." As you click on each of
these, in the right window you may see command(s) that will be executed at startup. The category
"Run" is fairly obvious. The category "RunOnce" is usually used after an application is installed this
will run any additional "setup-type" components next time you start the machine. I don't think that
I have ever seen anything in the RunOnceEx key, I don't know what it is used for. Similarly, the
RunServices is to start a "service" - such as, say, a Fax Monitoring application.

CAUTION: There is no way to "comment out" a Registery value you either change it or delete it.
You can "export" a key to a .REG file and then later "import" it back in if you wish. If you aren't
comfortable with this, then don't do it. If you do work with RegEdit - keep VERY accurate notes of
what you did so that you can "undo" it.

We removed the items that were causing applets and applications to load, and restarted the problem machine. The System Monitor reported that Allocated Memory was now at 40MB instead of 120MB. We then ran some of his applications and found that if he started, say, Internet Explorer and Microsoft Word and Microsoft Excel (his common mix of applications) he was still allocating considerably more memory than he had. This clearly indicated that he needed more RAM. So we threw some hardware at it. But the System Monitor at least saved us from what he thought he had to do - purchase a new machine with a faster processor in all cases the System Monitor was showing that his kernel usage was relatively low.

WINDOWS 98 USERS: There is a utility that will do much of the above for you - it is started via
START / RUN / MSCONFIG. Use it before you try the other methods above, as it is much more "user friendly."

Lastly, I have just found a free utility, called StartStop, (www.tfi-technology.com/startstop.htm) which enables you to control what applications run at startup. Further, it gives you the full path to the application or applet, which should give you a hint as to where the application came from. I have
no experience with this utility, but intend to investigate it.


DACS board member Bruce Preston usually moderates the "Random Access" session that begins each General Meeting. In addition, he chairs the Microsoft Access SIG for DACS, and runs West Mountain Systems, a consultancy in Ridgefield. Further episodes of Not So Random Access may follow on various topics, as the weather dictates.

BackHomeNext