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