Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>If the slowdown is seen when running multiple simultaneous Git commands, it could be due to a kernel locking issue within msysgit</p> <p>We saw that under some conditions, multiple instances of git.exe would all wait on the same kernel object (inside <code>WaitForSingleObject()</code>), effectively meaning that only a single git command could be run on the system at a time.</p> <p>See here:<img src="https://i.stack.imgur.com/GeqEI.png" alt="10 git.exe processes all waiting on a single kernel object"></p> <p>Using ProcessExplorer, we could see all the git.exe processes were stuck here:</p> <pre><code>ntoskrnl.exe!KeWaitForMultipleObjects+0xc0a ntoskrnl.exe!KeAcquireSpinLockAtDpcLevel+0x732 ntoskrnl.exe!KeWaitForMutexObject+0x19f ntoskrnl.exe!FsRtlCancellableWaitForMultipleObjects+0x5e ntoskrnl.exe!FsRtlCancellableWaitForSingleObject+0x27 </code></pre> <p>This seems to be related to this issue: <a href="http://code.google.com/p/msysgit/issues/detail?id=320" rel="nofollow noreferrer">http://code.google.com/p/msysgit/issues/detail?id=320</a> in that it's not Git but the pseudo-Linux runtime (mingw) which appears to contain the problem.</p> <p>We changed the user account used to run the applications from SYSTEM to an interactive user account, and the kernel object waits went away:</p> <p>Healthy git.exe processes <img src="https://i.stack.imgur.com/oMxP1.png" alt="git.exe processes spawning happily"></p> <p>Therefore, the slowdown you are seeing COULD be related to some kind of kernel object contention - only when the previous git command has released the kernel lock might other commands be able to run.</p> <p>Try changing the user account under which you are running the git commands, and see if this solves the issue - it did for us.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload