Xorg Uses at least 18% of the cpu

Philip Walden pwaldenlinux at pacbell.net
Sun Feb 4 06:11:47 UTC 2007


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 




More information about the users mailing list