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 12/4/2011 4:06 AM, Corinna Vinschen wrote:
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


Are you aware that the Superfetch service deliberately tries to use most of the
memory not otherwise in use as a cache for the most frequently accessed disk
files, in order to speed up accesses to those files? I've found it rather slow to
release this cache memory when some other program needs it, though.


Robert Miles

--
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]