Re: Xorg Uses at least 18% of the cpu

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/4/07, Philip Walden <pwaldenlinux@xxxxxxxxxxx> 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@xxxxxxxxxx
> 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


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux