Daniel Lohmann wrote:
Results for User Mode Process LYX-QT4.EXE (PID = 3344)
User Time = 15.07% of the Elapsed Time
Kernel Time = 11.18% of the Elapsed Time
Total Avg. Rate
Page Faults , 5692, 95/sec.
This looks highly suspicious and could be the reason why the csrss.exe
program is taking all the cpu.
I don't think so. Compared to Linux, Windows trims the working sets of
processes quite aggressively, which can result in a high number of page
faults. However, the freed ages are not actually removed from RAM, but
moved into the system cache and restored from there in case of a page
fault. Hence, a high number of page faults does not automatically imply
performance problems.
Moreover, this data is from the Lyx process and not from CSRSS where,
AFAIR, the CPU clocks are actually eaten. The only thing I can see is
that the process spends most of its time in the QtGui4 module, which in
turn might well lead to a high number of interactions with CSRSS.
Could you provide the results for the CSRSS.EXE process as well?
See below but I don't see much of a difference. I've passed the "-j"
option to let it find the .pdb but it can't seem to find the debug
symbols apparently...
As a wild guess I would assume a problem with some QT constructs
interacting badly with Win32 User/GDI. I have this slight feeling I had
seen similar problems with other QT applications on Windows, but I am
not really sure.
I would be nice if you could find out.
Daniel
Thanks for the help,
Abdel.
D:\program\KrView\Kernrates>Kernrate_i386_XP.exe -w 10 -s 30 -p 416 -pd
2064 -j "D:\devel\lyx\t
runk\development\cmake\bin\debug"
===> Found process: csrss.exe, Pid: 416
===> Found process: lyx-qt4.exe, Pid: 2064
PID = 2064: Source=, Time,
Tried Using Kernrate Default Rate of 25000 events/hit, Actual Rate=
19531 events/hit
PID = 416: Source=, Time,
Tried Using Kernrate Default Rate of 25000 events/hit, Actual Rate=
19531 events/hit
/==============================\
< KERNRATE LOG >
\==============================/
Date: 2006/10/18 Time: 11:55:12
Machine Name: YNS-ML
Number of Processors: 1
PROCESSOR_ARCHITECTURE: x86
PROCESSOR_LEVEL: 15
PROCESSOR_REVISION: 0204
Physical Memory: 1024 MB
Pagefile Total: 2462 MB
Virtual Total: 2047 MB
PageFile1: \??\D:\pagefile.sys, 1536MB
OS Version: 5.1 Build 2600 Service-Pack: 2.0
WinDir: C:\WINDOWS
Kernrate User-Specified Command Line:
Kernrate_i386_XP.exe -w 10 -s 30 -p 416 -pd 2064 -j
D:\devel\lyx\trunk\development\cmake\bin\de
bug
Waiting for 10 seconds before starting to collect profile data
Starting to collect profile data
Will collect profile data for 30 seconds
===> Finished Collecting Data, Starting to Process Results
------------Overall Summary:--------------
P0 K 0:00:16.663 (55.5%) U 0:00:13.339 (44.5%) I 0:00:00.000 (
0.0%) DPC 0:00:00.020 ( 0
.1%) Interrupt 0:00:00.270 ( 0.9%)
Interrupts= 19145, Interrupt Rate= 638/sec.
Total Profile Time = 30003 msec
BytesStart BytesStop
BytesDiff.
Available Physical Memory , 298483712, 296308736,
-2174976
Available Pagefile(s) , 1751339008, 1751523328,
184320
Available Virtual , 2131570688, 2131570688,
0
Available Extended Virtual , 0, 0,
0
Total Avg. Rate
Context Switches , 1868893, 62290/sec.
System Calls , 2477539, 82576/sec.
Page Faults , 2415, 80/sec.
I/O Read Operations , 361, 12/sec.
I/O Write Operations , 116, 4/sec.
I/O Other Operations , 2811, 94/sec.
I/O Read Bytes , 8950, 25/ I/O
I/O Write Bytes , 41894, 361/ I/O
I/O Other Bytes , 397231, 141/ I/O
----------------------------------------------------------------
Results for User Mode Process LYX-QT4.EXE (PID = 2064)
User Time = 42.69% of the Elapsed Time
Kernel Time = 20.09% of the Elapsed Time
Total Avg. Rate
Page Faults , 1962, 65/sec.
I/O Read Operations , 0, 0/sec.
I/O Write Operations , 0, 0/sec.
I/O Other Operations , 0, 0/sec.
I/O Read Bytes , 0, 0/ I/O
I/O Write Bytes , 0, 0/ I/O
I/O Other Bytes , 0, 0/ I/O
Start-Count Stop-Count Diff.
Threads , 2, 2,
0
Handles , 103, 103,
0
Working Set Bytes , 8929280, 11812864,
2883584
Virtual Size Bytes , 88453120, 88453120,
0
Paged Pool Bytes , 60056, 60056,
0
Non Paged Pool Bytes , 3720, 3720,
0
Pagefile Bytes , 8540160, 8540160,
0
Private Pages Bytes , 8540160, 8540160,
0
------------------------------------------------------------------
OutputResults: ProcessModuleCount (Including Managed-Code JITs) = 39
Percentage in the following table is based on the Total Hits for this
Process
Time 5239 hits, 19531 events per hit --------
Module Hits msec %Total Events/Sec
ntdll 1374 30003 26 % 894430
lyx-qt4 1316 30003 25 % 856674
MSVCR80D 757 30003 14 % 492782
QtGuid4 709 30003 13 % 461536
QtCored4 386 30003 7 % 251273
MSVCP80D 328 30003 6 % 213517
kernel32 269 30003 5 % 175110
GDI32 68 30003 1 % 44265
libiconv2 17 30003 0 % 11066
msvcrt 11 30003 0 % 7160
usp10 4 30003 0 % 2603
----------------------------------------------------------------
Results for User Mode Process CSRSS.EXE (PID = 416)
User Time = 8.85% of the Elapsed Time
Kernel Time = 46.66% of the Elapsed Time
Total Avg. Rate
Page Faults , 170, 6/sec.
I/O Read Operations , 400, 13/sec.
I/O Write Operations , 0, 0/sec.
I/O Other Operations , 0, 0/sec.
I/O Read Bytes , 6204, 16/ I/O
I/O Write Bytes , 0, 0/ I/O
I/O Other Bytes , 0, 0/ I/O
Start-Count Stop-Count Diff.
Threads , 13, 13,
0
Handles , 696, 694,
-2
Working Set Bytes , 1589248, 2285568,
696320
Virtual Size Bytes , 36139008, 36139008,
0
Paged Pool Bytes , 66236, 66236,
0
Non Paged Pool Bytes , 7648, 7648,
0
Pagefile Bytes , 3051520, 3051520,
0
Private Pages Bytes , 3051520, 3051520,
0
------------------------------------------------------------------
OutputResults: ProcessModuleCount (Including Managed-Code JITs) = 13
Percentage in the following table is based on the Total Hits for this
Process
Time 1254 hits, 19531 events per hit --------
Module Hits msec %Total Events/Sec
ntdll 630 30003 50 % 410109
winsrv 284 30003 22 % 184874
CSRSRV 219 30003 17 % 142562
KERNEL32 100 30003 7 % 65096
USER32 21 30003 1 % 13670
================================= END OF RUN
==================================
============================== NORMAL END OF RUN
==============================