This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Machine very sluggish while compiling


On Dec  4 02:55, Ryan Johnson wrote:
> On 25/11/2011 10:47 AM, Spiro Trikaliotis wrote:
> >Hello,
> >
> >* On Thu, Nov 24, 2011 at 07:59:58PM -0500 Ryan Johnson wrote:
> >
> >>Lately I've noticed that running make -j4 on my quad-core win7-x64
> >>machine causes it to become sluggish or even unresponsive.
> >I have seen very similar effects on my Win7-64 box. I can force the
> >problem here just be running "ccrypt", though, I do not need to use "make
> >-j4".
> >
> >I assume it has to do with the Windows 64 bit problems of Cygwin (search
> >the ML archives for that).
> >
> >For me, this is the first machine since years where I do not use Cygwin
> >because of this issue.
> Update: I hit the problem again, this time running python, and the
> problem is repeatable with the native 64-bit windows python
> interpreter. It looks like cygwin doesn't cause the problem, but
> rather my high-cpu tasks tend to run under cygwin. Honestly, I
> wouldn't expect cygwin to be the cause, given that it's a user space
> only piece of software!
> 
> Now what other entity could be the cause, I haven't a clue...
> process explorer doesn't show anything. Maybe that's because it's
> frozen along with the rest of the world during these episodes; right
> as it comes back I see context switch deltas above 100k for the
> interrupt/DPC module, which suggests I've got a wonky driver
> somewhere.

Here's another observation:

Since Friday I'm testing a script which runs in a `while true; do done'
loop.  Nothing serious, just a bit of environment variable setting,
calling find in an empty directory tree, grep, sed, the usual.

It's running in mintty on a W7 64 bit machine.  When starting to run the
script, the CPU load on the dual core machine is about 70%.  After a
while, let's say an hour, the CPU load is 100%.  Task Manager shows that
one of the svchost.exe processes is grabing a lot of memory and a lot of
CPU.  Stop the script and the svchost still takes mem and about 50% CPU
time, which means, one of the cores is solely busy to server this
svchost process.  Exit mintty and this svchost drops to 0% CPU and the
memory usage goes down a lot.

The svchost in question is the one running the following services:

  Windows Audio Endpoint Builder
  Offline Files
  Network Conections
  Program Compatibility Assistent Service
  Superfetch
  Distributed Link Tracking Client
  Remote Desktop Service UserMode Port Redirector
  Desktop Windows Manager Session Manager
  WLAN AutoConfig
  Windows Driver Foundation - User-mode Driver Framework

After some testing it turned out that the culprit is the "Program
Compatibility Assistent Service" service.  If I stop this service, the
svchost in question behaves harmless.  Superfetch is no saint either in
terms of memory usage, but it has by far not the influence and sticks to
about 3% CPU usage after the PCA service has been stopped.

Another way to fix this problem is to run the script in a Windows console
window, so it's something to do with mintty.
I have not the faintest idea why the PCA service thinks it has to "help"
mintty along.  I'm starting it from a desktop shortcut which has no
compatibility mode set.

Anyway, stoppping the PCA service and setting its start mode to "Manual"
does the trick for me.  While I was at it I also disabled Superfetch,
which drops the memory usage of this svchost to a fraction of what it
used before, and the CPU usage to 0%, and I don't see any performance
difference.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]