Xorg Uses at least 18% of the cpu
Andras Simon
szajmi at gmail.com
Sun Feb 4 13:28:36 UTC 2007
On 2/4/07, Philip Walden <pwaldenlinux at pacbell.net> wrote:
> Sam Varshavchik wrote:
> > Evan Panagiotopoulos writes:
> >
> >> I have top running in a terminal window and there are two processes
> >> running, Xorg and top. Xorg is using 18% of the cpu. If I open another
> >> window the percent goes into the 30s and 40s. I don't think this is
> >> normal.
> >>
> >> Going to System->Administration->Display I see that I have the correct
> >> hardware installed, nVidia 41.9. The Dell system profile reports that I
> >> have a NV42 card.
> >
> > Are you using Nvidia's non-free binary kernel module? If so, remove
> > the module and revert to Xorg's free nv driver. You may need to
> > reinstall all Xorg packages; in some instances Nvidia's installer
> > overwrites Xorg's libraries.
> >
> > If X still chews up the CPU with Xorg's nv driver, report it in
> > Bugzilla. If X works correctly after you removed Nvidia's binary
> > module, take it up with Nvidia.
> I had a similar problem with the Xorg 7.0 server on FC5. turns out that
> the automatic setting of MTRR was turned off. They restored it with 7.1.
> When I properly set my MTRR, my Xorg cpu utilization went from 80% to 15%.
>
> Below is a cut from a recent posting I did explaining how to set it.
> >
> > Try:
> > cat /proc/mtrr
> > reg00: base=0x00100000 ( 1MB), size= 256MB: write-back, count=1
> > reg01: base=0xfc000000 (4032MB), size= 32MB: write-combining, count=1
> >
> >
> > >
> > > However, I'm having a hard time starting X, as it's already running!
> > > I've combed the logs in /var/logs but I don't have those lines. When I
> > > kill X with CTRL-ALT-ESC it starts right back up automatically, not
> > > letting me redirect it's output to a file.
> > I found mine using lspci
> >
> > # /sbin/lspci -v
> > :
> > 01:05.0 VGA compatible controller: nVidia Corporation NV5 [RIVA
> > TNT2/TNT2 Pro] (rev 15) (prog-if 00 [VGA])
> > Subsystem: ASUSTeK Computer Inc. AGP-V3800 SDRAM
> > Flags: bus master, 66MHz, medium devsel, latency 40, IRQ 11
> > Memory at f5000000 (32-bit, non-prefetchable) [size=16M]
> > Memory at fc000000 (32-bit, prefetchable) [size=32M]
> > <========== use the prefetchable
> > Capabilities: [60] Power Management version 1
> > Capabilities: [44] AGP version 2.0
> >
> > I then added this to /etc/rc.local:
> >
> > # set mtrr at least until Xorg 7.1 is added to the distribution
> > echo "base=0xfc000000 size=0x2000000 type=write-combining" >| /proc/mtrr
> >
> >
> > > Just for kicks, here's the output of "lspci -v" as suggested by the
> > > same page:
> > :
> > > 01:00.0 VGA compatible controller: ATI Technologies Inc Radeon
> > > Mobility X1400 (prog-if 00 [VGA])
> > > Subsystem: Dell Unknown device 2003
> > > Flags: bus master, fast devsel, latency 0, IRQ 4
> > > Memory at d0000000 (32-bit, prefetchable) [size=256M]
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > I/O ports at ee00 [size=256]
> > > Memory at efdf0000 (32-bit, non-prefetchable) [size=64K]
> > > [virtual] Expansion ROM at efd00000 [disabled] [size=128K]
> > > Capabilities: [50] Power Management version 2
> > > Capabilities: [58] Express Legacy Endpoint IRQ 0
> > > Capabilities: [80] Message Signalled Interrupts: 64bit+
> > > Queue=0/0 Enable-
> > I would guess your's would look like:
> >
> > echo "base=0xd0000000 size=0x10000000 type=write-combining" >| /proc/mtrr
> >
> > --
> > fedora-list mailing list
> > fedora-list at redhat.com
> > To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
> >
> > I noticed that you seemed to have a really good answer to this thread,
> > but I didn't want to but in to disrupt it. I am having the same issue
> > with my laptop. Here is my video card info for lspci-v:
> >
> > 01:00.0 VGA compatible controller: nVidia Corporation GeForce Go 7400
> > (rev a1) (prog-if 00 [VGA])
> > Subsystem: Dell Unknown device 01cc
> > Flags: bus master, fast devsel, latency 0, IRQ 16
> > Memory at ed000000 (32-bit, non-prefetchable) [size=16M]
> > Memory at d0000000 (64-bit, prefetchable) [size=256M]
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > prefetchable memory start address at 0xd0000000 with the size of
> > 0x10000000 (== 256M in hex)
> >> Memory at ee000000 (64-bit, non-prefetchable) [size=16M]
> >> [virtual] Expansion ROM at ef000000 [disabled] [size=128K]
> >> Capabilities: <access denied>
> >>
> >>
> >> How do you calculate or figure out the information you gave in your
> >> echo line. If you know please let me know.
> > echo "base=<address> size=<memory size> type=write-combining" >|
> > /proc/mtrr
> >
> > in this case
> >
> > echo "base=0xd0000000 size=0x10000000 type=write-combining" >| /proc/mtrr
>
Hmm. I'm using Xorg's nv driver, not the Nvidia binary driver, and my
Nvidia card is pretty old, so this may be totally irrelevant, but
anyway:
$ cat /proc/mtrr
reg00: base=0x00000000 ( 0MB), size= 512MB: write-back, count=1
reg01: base=0xe0000000 (3584MB), size= 64MB: write-combining, count=1
$ /sbin/lspci -v
...
VGA compatible controller: nVidia Corporation NV11 [GeForce2 MX/MX 400]
(rev b2) (prog-if 00 [VGA])
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 11
Memory at e4000000 (32-bit, non-prefetchable) [size=16M]
Memory at d8000000 (32-bit, prefetchable) [size=128M]
Unless I misunderstood your explanation, this means that the mtrr
settings are not correct. Still, Xorg's cpu utilization is 0.3% (all
this on a PIII, FC5, with regularly updated Xorg server).
Andras
More information about the users
mailing list