V 2.20 goes CPU bound on a resume

Posted by: Marc_Kupper

V 2.20 goes CPU bound on a resume - 08/23/00 01:05 AM

I had been running a plot with 5 hops every 5 seconds for about 88 hours and had accumulated 63,120 samples. I stopped the plot, saved it, and went to work.<br><br>About 8 hours later I loaded and resumed the plot. After a few pings PP went CPU bound and remained that way for a couple of minutes. Beyond that, resumption of the plot seemed normal. <br><br>This problem is reproducible by reloading the PP2 file. It's possible PP goes CPU bound on the first failed ping as once I pinged for a good minute or so before it happened. (the line I'm monitoring has a 20% dropout rate that the Telco is working on).<br><br><br>
Posted by: Pete Ness

Re: V 2.20 goes CPU bound on a resume - 08/23/00 01:10 PM

Hi Mark.<br><br>What OS are you using?<br><br>Windows 9x reports a high CPU usage any time it's doing a PING or TRACERT (using ICMP.DLL). You can duplicate this CPU usage behaviour by using a standard PING or TRACERT and watching the CPU useage spike during this period. I tried pretty hard toget Ping Plotter to work around this behaviour, but as yet have had no luck.<br><br>Windows 2000 and NT don't have this problem - they report normal (1%ish) CPU useage while there are outstanding traces.<br><br>Basically, under 95/98, you'll see 100% cpu useage any time the "Querying" word is up on the lower left corner. You'll probably not notice any performance slowdown during that period (because windows is just waiting for a response - and not actually doing anything), but it is a bit disconcerting to see the CPU useage spike like this.<br><br>I'm hoping to add a different implementation of ICMP echo requests soon - that should stop this problem from happening (in addition to a few other things).<br><br>If this doesn't describe the problem you're seeing, let me know. It's possible I've missed something and it actually is Ping Plotter's fault.<br><br>
Posted by: Marc_Kupper

Re: V 2.20 goes CPU bound on a resume - 08/23/00 01:51 PM

Pete, I am using Windows NT (4.0 SP 5) and normally I see a 1 to 2% CPU load. I tested with another PP2 file and saw the same problem. I start PP, load up the PP2 file, and hit resume. The first couple of pings went through fine but as soon as one failed the CPU pegged up. It's not a 100% CPU line but rather was a very jagged 80/100% line.<br><br>One more data element for you. I have an alert on each of my hops that says to log to a file each time one or more traces is over 1000ms. E.g., I log all slow and failed pings. I think the CPU bound condition may be related to my log file.<br><br>I tested again. I loaded up the PP2 and hit resume. This plot has two hops with the second one being down hard right now. I am displaying both time lines. The first ping showed black/red (the first hop is ok and the second fails). The second showed black/red, PP went non-responding, and the CPU did it's 80/90% dance for 125 seconds, after this pings 3 and 4 were displayed at pretty much the same time. After that PP settled back to a normal CPU load.<br><br>If you want I can e-mail you the INI, PP2 and log files.<br><br><br>
Posted by: Marc_Kupper

Re: V 2.20 goes CPU bound on a resume - 08/23/00 02:12 PM

Pete, here is some additional data.<br><br>I deleted the log file and resumed my plot. On the first failed ping PP went CPU bound and created a 2.1 megabyte log file that started out with "Trace Session Started at: 8/18/2000 9:07:22 PM" and showed all of the pings that were over 1000ms.<br><br>I exited PP (saying No to the save-data prompt) and started a new copy of PP with the old PP2 file. This time the log file grew from 2.1 to 4.2 megabytes It looks like you must have a pointer to the last data element you have logged. When you want to add a new item to the log file you start at the last logged element and work you way out from there. When loading a PP2 file you end up resetting the pointer back to the beginning of the plot data meaning the next time something gets logged you end up dumping the entire plot history which accounts for the CPU bound condition I saw.<br><br>related suggestion / feature request. When a plot is stopped and resumed you should fire an alert. If any of the alert monitors have logging enabled the code should append a line to the log that the plot was stopped or resumed.<br><br><br><br>