Microsoft's hidden diagnostic tool unlocks Vista startup secrets

Microsoft's hidden diagnostic tool unlocks Vista startup secrets

Summary: Are you having performance problems with Windows Vista? You don't need a stopwatch to find the cause. Vista's onboard monitors are constantly recording information about performance and storing it in the new, greatly expanded event logs. None of these details are documented anywhere, which is why I sat down with a group of Microsoft engineers to unravel the mystery.

SHARE:
TOPICS: Windows, Microsoft
137

In researching a three-part series on Windows Vista start-up times here last month (Part 1, Part 2, Part 3), I spent hours with a stopwatch, documenting my experience with a handful of machines running a clean install of Windows Vista.

As it turns out, I didn't need the stopwatch, because all the data was right under my nose all the time. Vista's onboard monitors are constantly recording information about performance and storing it in the new, greatly expanded event logs. It's an overwhelming amount of information, in fact, and none of the details are documented anywhere.

Vista boot time detailsTo get to the bottom of the mystery, I sat down with a group of Microsoft engineers for a free-wheeling hour-long conversation about Vista boot times and performance, with a special emphasis on learning how to troubleshoot problems that you might experience. I also collected data from 104 Windows Vista startups and crunched it down to find out just how long Vista really takes to start up.

It all starts with Vista's Event Viewer program. I've put together an image gallery showing how you can access the same information on your system. so you can follow along. The key information is contained in the Diagnostics-Performance log, where event IDs 100-199 capture information about Boot Performance Monitoring. (The same log contains information about shutdown times and overall system performance, but for this project I chose to zero in exclusively on boot times.)

Want to see how your computer measures up? Click here for step-by-step instructions with detailed illustrations.

Every time you start your computer, Windows logs your boot time, starting as soon as the kernel loads (obviously, Windows can't track the time it takes for your hardware to enumerate itself and for the BIOS to hand off control to the OS loader) and ending after every background service and process has finished loading and the system has been idle for at least 10 seconds. The total boot time is divided into two parts

  • MainPathBootTime measures the time it takes for the system to load all drivers and services that are critical to user interaction and get to the Windows desktop where the user can begin doing things.
  • BootPostBootTime includes all the other drivers and processes that aren't critical to user interaction and can be loaded with low-priority I/O that always gives preference to user-initiated actions that execute using Normal I/O priority.

If you look in Event Viewer, you'll see a separate value called BootTime, which measures the sum of these two values. (Subtract 10 seconds from this value to account for the idle time that indicates the boot process is completely done.) In addition, the logs are filled with clues that can help you figure out what went wrong and why a specific startup (or shutdown) took longer than normal.

Because the Event Viewer logs save their data in standard XML, I was able to capture this data from 104 startup events on four separate machines and crunch it down to these bullet points:

  • 35% of all starts took 30 seconds or less to return control to the user
  • 83% of all starts took 60 seconds or less to return control to the user
  • 70% of all starts completed all boot processes, including low-priority I/O activity, in two minutes or less
  • 94% of all starts completed all boot processes within three minutes

I've created a scatter chart using the data from these systems that makes the point visually and used that chart to kick off the image gallery.

Vista boot times scatter chart

In conversations with engineers at Microsoft, I learned that these values are consistent with what they've observed over millions of installations monitored via opt-in data collection programs, on an incredibly diverse array of hardware installations.

In a follow-up, I'll explain what I learned about why some startups take longer than others and how you can diagnose and resolve startup problems on a Vista PC.

 

Topics: Windows, Microsoft

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

137 comments
Log in or register to join the discussion
  • Please, follow up ASAP!

    Oh, I can learn what's taking a lot of time for my computer to load at boot time? That's pretty useful information! Please do the follow up as soon as you can - I'd love to know how to optimize my boot time :).
    CobraA1
  • Gee...it's just SOOO nice that MS uses our hardware and timeware to market!

    Their warez is SOOO bad that they must use OUR time to fix their C.R.A.P.! I really think it's time that users DEMAND at least $15.00 per hour for the information 'given' to MS to help them market their warez to others!
    nomorems
    • HUH?

      HUH? I thought this feature was a good feature... I just don't understand some people.
      Jhaks
      • No one understands nomorems

        Microsoft employee stubs his toe: "What an, idiotic, stupid, moronic thing to do. How typical of an MS employee."

        (Insert company here) employee stubs his toe: I don't beleive it! I'm guessing an MS employee hit him over the foot with a rock!!!"
        John Zern
        • Huh huh?

          Microsoft is one of the most profitable companies on the planet. It's officers some of the best paid. With this much profit motive wouldn't one think that the products would be less prone to error, less cumbersome to trouble-shoot (or not need such attention), and perhaps even less expensive?

          And you wonder why people are critical of the company?

          In every other industry, when a company is doing well, it's products improve; not the opposite.

          So why IS the end user expected to patch weekly and debug someone else's code?

          If this were a car or truck would you happily reconfigure the vehicle to get the appropriate performance? Would it be perfectly OK for you to drive a vehicle that gets crappy mileage, breaks down every other week, requires weekly visits to the shop, AND goes from zero to sixty in just under a minute?

          I don't think so.
          LBean
          • Well, but...

            Let's be fair. There are parts of the vehicle you *do* reconfigure and perform maintenance on to suit your needs and assure good performance, either once, regularly or occasionally: optional features that must be installed specially by the manufacturer or dealer; seat, mirror, and steering column position; radio, clock, heat and AC settings; tire air pressure, balance and rotations; spark plugs, headlamp bulbs, oil changes, and so on and so forth. Most consumers would not be happy with a brand-new auto exactly as it's set up there on display at the lot, just as most of us aren't happy with a default Windows installation, and a car that doesn't get the attention it needs is just as likely to break down as an unpatched Windows installation. True, Windows may require that necessary attention more often, but then Windows is a more complex animal than an automobile and has a lot more new, unanticipated demands thrown at it; road surfaces and the formula of gasoline change much less over relatively short spans of time than technology, and even though the weather can change very quickly, you don't often see entirely new conditions the car manufacturer never imagined.

            Most autos aren't expected to be plug-and-play compatible with pretty much any third-party product, other than maybe tires and fluids, whereas we expect Windows to run on any Intel machine and handle any piece of software or hardware we install on our machines; this would be like expecting that anything from a VW bug to a fire truck be designed to accept anything from a HEMI engine to tail fins to four-wheel-drive. If that were the case, we'd see a lot more problems with our vehicles than we do.

            Also, unlike Windows, most cars are not expected to stand up to daily burglary, carjacking and grand theft auto attempts by ever-more-sophisticated criminals. And, sad to say, many cars (*coughSUV'scough*) purchased today DO get crappy mileage.

            So I wouldn't say Windows is that different from other products, or at least not from automobiles. The more complex and versatile something is required to be to perform its function, the more things can go wrong with it and the more compromises must be made to keep things running and more or less in balance.
            Ginevra
          • Even tires are not all compatible

            You are right, and that previous loony is out to lunch. I guess he figures cars come with those computer boxes for no particular reason. Those computer boxes can provide a litany of diagnostic information on your car and are accessed any time there is a need to run a check on how things are performing on your car.

            And dufuss boys analogy with cars is incomplete unless he also stipulates that the only alternative to one of these cars he would hate so much is a vehicle cobbled together by designers from around the world mixed into one, and the only way to get it to do as much as the car he hates so much would involve having alot of the knowledge the designers do. If you don't have that superior knowledge you would never be able to get one of these cobbled together cars to do half of what its supposed to do.

            And none of your favorite after market parts would work either, you would have to get after market parts cobbled together by the same bunch who made the cobbled together car.

            Sure the cobbled together parts would work, but typically your choices would be reduced and in some cases alot of entertainment features people now install in cars would just not be available as only parts made by the cobblers work and they are real "nuts and bolts" types who are not into fun in games cobbling.

            The one other option would go to the "SPECIAL" car dealer who sells mostly white cars that are a little over priced. While you wouldn't have to be as knowledgeable as if you owned one of the cobbled cars you are limited again in your choice of after market parts and the entertainment after market parts are one again few and far between.

            Changing body parts and a number of engine parts would often prove to be problematic and if you are really keen on doing that kind of thing, well, the "special white" cars are not your best choice, in fact you would find that practically all the people who buy the "special white" cars usually love them just the way they are and don't usually go for changing them much, if ever. They just purchase a whole new "special white" car every few years.

            So the alternatives are fine I guess if you can live with all that nonsense. Most people just want a car that works and adding new parts, of any kind, is usually always a breeze and you have alot of versatility. The cobblers and the "special white" owners will always call you a crazy person because they like what they have; they just don't get that most people don't want to settle for what they have.
            Cayble
          • wow

            For one, i don't debug because i don't have to. Just click Yes to any bug and submit it to MS for them to look at. If I wanted to take my stock car and make it a race car, yes! i would modify the computer and firmware to increase performance and add parts or features to increase performance. When you increase performance, you make the computer perform faster, but puts more stress on certain hardware so manufacturers typically setup their products in a middle-of-the-road configuration to allow tweakers to tweak and average users to enjoy their product as is.

            Not every car is a Monte Carlo SS and even your stock 2007 Mustang has the ability to be fine tuned for racing after you buy it and doesn't come tuned to the hilt, stock. There is software you can buy to monitor your engine and tune it's performance. you could say why doesn't every car come with a laptop and a cdrom in the glove box so you can tune it the way you want it? The answer is a very small minority of people even bother trying to tweak an engine and the same is true for operating systems. Only the geeks tweak and play around. MS has given us some of those tweak tools for free by building them into their OS.

            Just go back to waiting for your open-source community to develop a viable non-windows operating system. no telling when an update or a driver will come out from them. Windows has been out for nearly 30 years and Linux still has no mainstream foothold in the home user or business desktop market. Wonder why that is? Linux could compete with Windows, but it's own open-source community is refusing to let it become standardized and user-friendly, in favor of keeping it geeky and cryptic to use.
            Khyron
          • 22 years

            Sorry to be a hair-splitter, but Windows will be 22 years old in November this year, not nearly 30.
            Benchmarked
          • Only not.

            The biggest problem with microsoft is that they're successful, and people resent that. It doesn't seem to bother the geeks who work for them, who are just as nice, competent, and profoundly human as you or I. People just like to forget how they got there; by turning technologically fussy, notoriously difficult money-sinks in to productive and utilitarian products. They forget that.

            People are more critical because many more people can afford to be...the armchair keyboard cowboys who couldn't have hacked it 10-15 years ago now find themselves relatively proficient with computer usage. Don't argue that it's a Mac or Linux revolution either...put a Mac user in front of any other computer and see what happens. Linux's market share speaks for itself. I have nothing personal against either, but they didn't open up the computer market like MS did. They're a step up from elitist fringe markets in discussions like this, and you know it as well as I do.

            As a direct retort to your argument, computers ARE more reliable. Products ARE cheaper. Things DO work better. When's the last time you bought hardware that was absolutely incompatible with your windows? What about 15 years ago, if you even COULD install your own hardware then? The average Joe couldn't, whatever your skills are. Don't tell me you've never seen the Radio Shack ads from 1993 for the new 386 with 4 MEGS of RAM and 2 (two!) floppy disk drives for only $7,599. How long has it been since you've seen a blue screen?

            Why should you be forced to download patches? No one's forcing you. If you want to be a victim to the next group of haxors from Malta, Chechnya, Thailand, or california, more power to you. The patches are offered in hopes that people like you will be more a part of the solution than the problem, but hey, windows 98 still runs, if you'd rather not be involved in the whole security thing.

            Hey, I've forced apps to quit with a terminal kill command or ctrl+open apple+command+esc, too. Everything bites it sometimes. I haven't seen a real windows bluescreen that has been anything but hardware in a long, long time, and I bet you haven't either.

            The point is, people rag on MS because they're the biggest dog on the block, and no one likes the biggest dog. They got that way for a reason though, and like them or not, revising your history in your head is a poor excuse for an argument against them.

            As far as your tired car analogy goes...well, that's really more applicable to macs, since with certain small exceptions, microsoft doesn't make hardware, which is what your car is. Point in fact, if you want to retune your car because you bought new exhaust, or you changed the manifold, you DO have to go to the manufacturer, or at least someone who REALLY knows what they're doing, since the software component of cars IS controlled, for much the same reason Apple chose to keep their hardware/software in a mostly proprietary closed system.
            Hogleg
          • Precisely

            I couldn't have worded it better. I've dealt with MS tech support, some of their mid-size business managers and various others both in person and over the phone - I have never ever had anything near a bad experience with anyone there.

            As for their software, it's always worked for me, right back from 8088 days and Dos 3.2.
            When there has been a problem I've fixed it. Nothing is without flaw. Call me a fanboy but hey - Windows (NT, 2000, XP and now Vista) has always worked a treat for my clients with a broad compatibility system, ease of use and great support both from MS and from the community!
            Sparhawk_z
          • I, (we're), being 'grouped', here. (to Hogleg)

            Hey, wait just a darn second.. did he say "california" haxors!? Why I oughtta.. (LoL)
            Ndowdjones
    • You're losing it, d00d!

      Go chill out with Whisperycat and Ole Man. They're smoking higher grade stuff than you are.
      M.R. Kennedy
      • RE: Microsoft's hidden diagnostic tool unlocks Vista startup secrets

        Utterly allow among your accept conviction on <a href="http://www.shoppharmacycounter.com/">weight loss pills</a>.
        cool_weightlosspills
    • Message has been deleted.

      No_Ax_to_Grind
      • While he could have come across more maturely, he has a valid point.

        Gold release software should not be beta-class code, with real users in real environments giving the company information for no compensation. People who partake in assisting the company with development and ideas should be compensated. This isn't a communist society, you know.

        This isn't open source we're dealing with, where nobody profit from the efforts of third party, unaffiliated volunteer hobbyists. (except possibly Apple, IBM, or Novell - all of which package open source software and sell it as their own for big bucks.)

        It's as gaudy as a person buying a sweater with a brand name emblazoned on it in big letters. That is the polar opposite of advertising. It's unethical, immoral, and embarrassing in the extreme. Which is why you'll never see me wearing a big read shirt with the name of a company that sells carbonated sugar water that rots tooth enamel... Though if I could fit that sells carbonated sugar water that rots tooth enamel..." after the company's name, then I might just do it. But I doubt they'd like that. ;)

        Usually, companies that advertise pay people to advertise. Not have people pay the company to advertise the company!! I can't say it's clandestine, or perhaps people are so thick they can't fathom they're doing just that!
        HypnoToad72
        • Actually, in a communist...

          society, every shares in the labor and the harvest. People would get compensated.

          In a theoretical communist society, not in any one that has existed, to my (limited)
          knowledge.
          msalzberg
          • haha

            And everyone is kept poor. Socialist and Communist societies are typically the poorest ones with the highest unemployment rates. aka France - Riots anyone? Aka Britain, aka Russia - before they changed to a capitlist platform.

            When you spread the wealth to everyone, by the time that wealth gets to you it's like getting a penny - woot! you're rich now! Go Communism. lol!
            Khyron
          • Don?t mix apples with oranges

            Socialism is not to compare to comunism... Review your books, and start traveling... You might very well decide not to live in the US after that. I found Canada to be a 100 times better to live in then USA. There is a few thing in life that everyones have to pay anyhow : Medical treatment as an example... Why let some insurance companies benefit on the back of every citizen when it can be the very same society insuring itself for these "BASIC" needs. And with a government negociating pricing with pharmaceutics, we pay half the price that would be paid in the US. The society is changing, and even the citizens of usa have to look at themselves in the mirror and ask them what is a good society to live in, what really means freedom and so on to make sure their society follows their principles, and if they dont, try changing it as much as you can. The usa have lots of corruptions inside its government, but it can be changed... dont asume your live in the best country of the world when you rank in position 48 for life expectancy and when you have the most per capita prisoners in the world.
            jason.mailley
          • Actually it's not apples and oranges

            When comparing Socialist and Communist systems as they differ only in a minor matter of degree. The fact is that Socialist systems the government owns or controls most of the means of production with in a society while in a Communist system the government just owns the means of production. While it's possible to have private ownership under a socialist system it's impossible to control such owned property while under a communist system there isn't any private ownership of property so there isn't any control issue. So while there is a difference it is one of degree a socialist country is one where the government has seized as much control as it's citizens will allow and in a communist country the government has seized total control.
            maldain