The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Monitoring an application

hi all,
  our application in recent versions seems to be behaving weirdly , of course on customer's machine only.

well once in a while, our application starts pegging at 99-100% and takes a while - 2-3 minutes to return back to normal. During this time,it seems like a plane is taking off with fan noise etc..
and if they hit ctrl + alt + del and cancel, it immediately drops back to normal operations.

is there an lightweight utility that will give me an insight to whats happening in the application? i could use filemon etc... but these utilities will use quite a bit a cpu and may add to the problem.

or any pointers to fix this issue?

Sunday, June 17, 2007
Are you using an API function that's iterating through the system drives? It could be the DVD spooling up (some of which sound like loud fans).
Sunday, June 17, 2007
Garbage collect?
Sunday, June 17, 2007
Run Perfmon and look at some counters?

You could also add some perfmon counters to your app, if there are internal datapoints that would be good to see.
xampl Send private email
Sunday, June 17, 2007
Nowadays the speed of the CPU fan is tied to the CPU usage.  So if the CPU usage hits 100% the fan will go into high speed.  That is not worrisome.  What is worrisome is that your app hits 100% at all.  Which generally happens when the app is stuck in some while loop.  Check exactly which menu function/functions trigger this.
Donald Duck
Sunday, June 17, 2007
Use Perfmon to show the CPU usage of each thread, and also show the ID of each thread.  That will help you figure out which thread ID is using all of the CPU.  Hopefully your log files will show what the different thread IDs are to give you a clue about what is going on.
Sunday, June 17, 2007
The Sysinternals proecss explorer might help tracking it down. It'll show you CPU usage history per process, and CPU usage per thread, amongst other things.

If it pegs the CPU at 100% then they probably don't have a dual core processor. Get the basic system specs to see how slow their computer is. It may well be that this problem occurs on other systems but isn't noticed, especially if the app remains responsive. You may even be able to reproduce it on your PC.

Since pressing ctrl-alt-del and cancelling fixes it the first place I'd start looking is in the painting related code.

Alternatively it might be nothing at all to do with your app. Asking them to do a spyware & virus scan is probably a good idea to rule that out.
Monday, June 18, 2007
I was gonna say.  There could be any number of programs besides yours running on that machine.  sysinternals is your friend.
Robert Rossney Send private email
Monday, June 18, 2007
It could be live virus scanning that's causing it. I've no idea why, but I've had a couple of clients report long pauses during a variety of applications after installing such products.
Monday, June 18, 2007
thanks every one. we are in the processing of setting up some logs in our app to get an idea on what call is being executed.

since quite a few different installs have reported the issue, it seems like our app issue.

will get back , once i have some clues / more data.

Wednesday, June 20, 2007
  i think i may have found the problem with cpu pegging at 100%.

we are using doevents while waiting for document complete. and  quite a few people on forums, have reported that if they haven't used doevents with sleep or refactored code to use a timer, cpu pegged at 100%

i will testing this at one of my customers.
i am unable to reproduce this on my machine and wondering is there any way to simulate , so that i can be sure of my fix?

Thursday, June 21, 2007

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz