Paul A. Rubin wrote:

AFAIK, csrss manages application access to the graphics subsystem, so I suspect that every time the GUI writes to the screen, csrss is involved.

[This is a bit late, but it may be of use to other people who run into
this.]

csrss is the "Client/Server Runtime System Service".  It's the usermode
part of the Win32 component of modern MS Windows versions.

It handles things like the userspace side of thread creation and
deletion, and console-mode I/O.  (So, for example, if LyX were running
with debug enabled, the debug lines being written to the LyX console
window might cause a noticeable jump in csrss load.  But I haven't
tested that.)  I don't know offhand of anything it does with graphical
rendering tasks, but that doesn't mean it doesn't have its hooks in
there, too.

Also, some malware - eg some Nimda variants - which drop bogus csrss.exe
executables on the machine, so in some cases a busy csrss is actually a
trojan.  Since you've confirmed the OP's problem on your own system,
though, that's not the issue here.

It's eating way too many cycles, though, and for that matter LyX seems to be eating more than I would expect.

People have reported all sorts of triggers for excessive CPU consumption
in csrss: problems with user profiles, stopping the Windows Messenger
service, changing power management settings, bad interaction between
ProcessExplorer (which starts threads in other processes) and cygwin, a
bad TweakUI setting...  Sometimes it's due to poor application coding (I
saw one report of a console app that busy-waited on the kbhit() system
call, which goes through csrss).  Sometimes it's due to bugs in the OS,
as with the Messenger issue.

Because csrss is used for several common tasks, it's hard to guess just
what might be causing the problem.

One way to track the problem down would be to build LyX with symbols and profile it using kernrate, the free Microsoft sampling profiler, to find out where the hotspots are. Unfortunately I'm not set up to build LyX, and I don't have time right now to pull the sources and do that. (I'm not sure I have the disk space required, for that matter.)

--
Michael Wojcik


Reply via email to