X is consuming ~100 GiB of RAM(!)

Ewen Chan chan.ewen at gmail.com
Thu Dec 7 16:22:30 UTC 2017


Hi-Angel:

> Yes, now it should be using CPU for rendering.

Hmmm...I am not so sure if that was really what I want.

It just reminds me of the adage of where you fix a leak/problem at one
part/section of a pipe, but then create another one problem somewhere else
down the pipe.

> That's one more of beauties of open source

The thing that I can think of that would be even more beautiful than that
would be if this didn't happen at all in the first place. :D

This "memory leak" or high consumption of memory from the subsystem that
draws/renders the desktop/GUI doesn't happen at all with Windows no matter
how many times I run the same analysis script.

My early subjective analysis (with this mgag200 blacklist) puts the time it
takes to run the simulations now on par with Windows and Windows just
worked (properly) like this from the get go.

People keep talking about great and wonderful Linux is, but this experience
has been anything but.

I think that I've spent about as much time trying to find a resolution to
this issue as I have had doing my actual analysis work.

Pros (for Linux): It's faster when it is running at runlevel 3.

Cons: Can't use the GUI (because if I blacklist the driver for runlevel 5,
then the performance is about the same as it is in Windows, at which point,
why not just use Windows? The set up of a Windows system to get it up and
running to this same level/state is significantly faster.)

Such a pity really that this has the potential to be **A**, if not **THE**
solution to this problem.

Hmmm....it's been interesting.

I can still try other stuff (like iomem=relaxed), both either with the
mgag200 or without it.

Thanks.

Sincerely,
Ewen

On Thu, Dec 7, 2017 at 11:04 AM, Hi-Angel <hiangel999 at gmail.com> wrote:

> Yes, now it should be using CPU for rendering. If you're eager to save
> some cycles, you could recompile both Xorg and Mesa with optimizations
> "-flto=2 -march=native -O3 -pipe -fno-stack-protector
> -fno-semantic-interposition -fmerge-all-constants". That's one more of
> beauties of open source :) That said, I don't know how hard it might
> be on SuSe. On Archlinux here we have ᴬᵁᴿ repository, and building
> e.g. mesa from source is as easy as a command "yaourt -S mesa-git".
>
> On 7 December 2017 at 18:36, Ewen Chan <chan.ewen at gmail.com> wrote:
> > Hi-Angel:
> >
> > I'm just asking due to innate curiosity.
> >
> > But the other part of it is I am wondering if the other driver is using
> CPU
> > cycles to draw/render the display/(raster?).
> >
> > I am asking because in the analyis runs, they are taking longer to run
> than
> > they were before I blacklisted the mgag200 driver. (Granted it is still
> very
> > early in the entire script, but the early results would suggest that the
> > system might now be using the CPU to draw/render the screen (raster?)
> due to
> > the analysis runs now taking longer to complete (for each of the three
> out
> > of 16 runs that I have completed so far).
> >
> > Thanks.
> >
> > Sincerely,
> > Ewen
> >
> > On Thu, Dec 7, 2017 at 10:32 AM, Hi-Angel <hiangel999 at gmail.com> wrote:
> >>
> >> Yeah, nice, it worked. As for what other driver in the output should
> >> accord to vesa or whatever that provides the basic functional of
> >> outputting to a monitor — sorry, I don't know, I hope somebody else
> >> here can tell it. I don't think it's important for our purposes
> >> though.
> >>
> >> On 7 December 2017 at 18:18, Ewen Chan <chan.ewen at gmail.com> wrote:
> >> > Hi-Angel:
> >> >
> >> >> Have you rebuild initramfs after blacklisting by the way?
> >> >
> >> > So...I did what that thread (and the thread that it points to within
> >> > that
> >> > thread) says to do.
> >> >
> >> > Created blacklist.conf and then put in there:
> >> >
> >> > blacklist mgag200
> >> >
> >> > and then I ran dracut --regenerate-all --force and rebooted (per the
> >> > thread-inside-that-thread's instructions).
> >> >
> >> > (like I said, I'm a grossly underqualified sysadmin so I just do what
> "I
> >> > am
> >> > told" from those sources.)
> >> >
> >> >
> >> > Here is the output of lsmod:
> >> >
> >> > Module                  Size  Used by
> >> > ebtable_filter         12827  0
> >> > ebtables               35009  1 ebtable_filter
> >> > ip6table_filter        12815  0
> >> > ip6_tables             27025  1 ip6table_filter
> >> > iptable_filter         12810  0
> >> > ip_tables              27239  1 iptable_filter
> >> > x_tables               34059  5
> >> > ip6table_filter,ip_tables,iptable_filter,ebtables,ip6_tables
> >> > af_packet              39847  0
> >> > fuse                   95758  3
> >> > iscsi_ibft             12862  0
> >> > iscsi_boot_sysfs       16051  1 iscsi_ibft
> >> > raw                    13091  0
> >> > msr                    12865  0
> >> > joydev                 17344  0
> >> > iTCO_wdt               13480  0
> >> > iTCO_vendor_support    13718  1 iTCO_wdt
> >> > dm_mod                110780  0
> >> > intel_rapl             18783  0
> >> > intel_powerclamp       14690  0
> >> > coretemp               13435  0
> >> > kvm_intel             151399  0
> >> > kvm                   496652  1 kvm_intel
> >> > crct10dif_pclmul       14307  0
> >> > crc32_pclmul           13133  0
> >> > crc32c_intel           22094  0
> >> > pcspkr                 12718  0
> >> > sb_edac                26894  0
> >> > edac_core              66438  1 sb_edac
> >> > igb                   204492  0
> >> > ptp                    18933  1 igb
> >> > i2c_i801               22557  0
> >> > pps_core               19333  1 ptp
> >> > ipmi_si                57482  0
> >> > i2c_algo_bit           13413  1 igb
> >> > ipmi_msghandler        49676  1 ipmi_si
> >> > mei_me                 18355  0
> >> > wmi                    19193  0
> >> > mei                    86782  1 mei_me
> >> > lpc_ich                21093  0
> >> > ioatdma                71777  0
> >> > mfd_core               13435  1 lpc_ich
> >> > shpchp                 32951  0
> >> > dca                    15130  2 igb,ioatdma
> >> > processor              44678  0
> >> > button                 13971  0
> >> > hid_generic            12559  0
> >> > usbhid                 52573  0
> >> > btrfs                1022893  2
> >> > xor                    21411  1 btrfs
> >> > raid6_pq              101908  1 btrfs
> >> > sd_mod                 50160  4
> >> > ghash_clmulni_intel    13230  0
> >> > aesni_intel            52860  0
> >> > isci                  149868  0
> >> > aes_x86_64             17131  1 aesni_intel
> >> > glue_helper            13990  1 aesni_intel
> >> > lrw                    13286  1 aesni_intel
> >> > gf128mul               14951  1 lrw
> >> > ablk_helper            13597  1 aesni_intel
> >> > cryptd                 16263  3
> >> > ghash_clmulni_intel,aesni_intel,ablk_helper
> >> > ehci_pci               12914  0
> >> > libsas                 87336  1 isci
> >> > ehci_hcd               79237  1 ehci_pci
> >> > ahci                   29929  2
> >> > scsi_transport_sas     45130  2 isci,libsas
> >> > libahci                36105  1 ahci
> >> > usbcore               254961  3 ehci_hcd,ehci_pci,usbhid
> >> > libata                244519  3 ahci,libahci,libsas
> >> > usb_common             13057  1 usbcore
> >> > sg                     40629  0
> >> > scsi_mod              244588  6
> >> > sg,isci,scsi_transport_sas,libata,libsas,sd_mod
> >> > autofs4                42930  2
> >> >
> >> > Out of that list, I don't see mgag200 there, but then again, I also
> >> > don't
> >> > see any module that I recognize as being a "video driver" either.
> >> >
> >> > I hope that helps answer your questions(? 0.o?)
> >> >
> >> > Thanks.
> >> >
> >> > Sincerely,
> >> > Ewen
> >> >
> >> >
> >> > On Thu, Dec 7, 2017 at 1:46 AM, Hi-Angel <hiangel999 at gmail.com>
> wrote:
> >> >>
> >> >> Don't worry, I don't believe in Laplace's demon, and hence I believe
> >> >> everybody don't know something.
> >> >>
> >> >> Tbh I'm not sure if the output of lspci implies the module is still
> >> >> loaded, although I would assume it still is. Either way, to be sure
> >> >> you can use `lsmod` command, it lists all currently loaded modules.
> >> >> Have you rebuild initramfs after blacklisting by the way?
> >> >>
> >> >> On 7 December 2017 at 08:32, Ewen Chan <chan.ewen at gmail.com> wrote:
> >> >> > Stupid question though (again, I'm a grossly underqualified
> >> >> > sysadmin).
> >> >> >
> >> >> > How can I tell if the blacklisting worked correctly?
> >> >> >
> >> >> > When I type in:
> >> >> >
> >> >> > # lspci -v | more
> >> >> >
> >> >> > this is what it outputs for the VGA section:
> >> >> >
> >> >> > 08:01.0 VGA compatible controller: Matrox Electronics Systems Ltd.
> >> >> > MGA
> >> >> > G200eW WPCM450 (rev 0a) (prog-if 00 [VGA controller])
> >> >> >         Subsystem: Super Micro Computer Inc Device 062f
> >> >> >         Flags: bus master, medium devsel, latency 64, IRQ 11
> >> >> >         Memory at dd000000 (32-bit, prefetchable) [size=16M]
> >> >> >         Memory at df800000 (32-bit, non-prefetchable) [size=16K]
> >> >> >         Memory at df000000 (32-bit, non-prefetchable) [size=8M]
> >> >> >         Expansion ROM at <unassigned> [disabled]
> >> >> >         Capabilities: [dc] Power Management version 1
> >> >> >         Kernel modules: mgag200
> >> >> >
> >> >> > Is there another way to confirm that the blacklisting did what it
> was
> >> >> > supposed to?
> >> >> >
> >> >> > Thanks.
> >> >> >
> >> >> > On Wed, Dec 6, 2017 at 11:39 PM, Hi-Angel <hiangel999 at gmail.com>
> >> >> > wrote:
> >> >> >>
> >> >> >> On 7 December 2017 at 06:19, Hi-Angel <hiangel999 at gmail.com>
> wrote:
> >> >> >> > On 7 December 2017 at 06:05, Ewen Chan <chan.ewen at gmail.com>
> >> >> >> > wrote:
> >> >> >> >> Hi-Angel:
> >> >> >> >>
> >> >> >> >> Thank you for that!!!
> >> >> >> >>
> >> >> >> >> Two questions:
> >> >> >> >>
> >> >> >> >> 1) Will the commands from the CentOS distro work with SuSE?
> >> >> >> >
> >> >> >> > Well, the linked post doesn't show how to blacklist because it
> was
> >> >> >> > created after the fact (author forgot to re-build initramfs).
> For
> >> >> >> > an
> >> >> >> > example of doing that you can refer e.g. this
> >> >> >> > https://askubuntu.com/a/110343/266507 Except I am not sure how
> to
> >> >> >> > rebuild initramfs on SuSe — on Archlinux I'm using it is `sudo
> >> >> >> > mkinitcpio -p linux`.
> >> >> >> >
> >> >> >> >> 2) Do you think there will be problems using the VESA driver
> >> >> >> >> instead
> >> >> >> >> of
> >> >> >> >> the
> >> >> >> >> mgag200 driver? (i.e. the GUI/remote X/VNC would exhibit
> >> >> >> >> unexpected
> >> >> >> >> behaviours?
> >> >> >> >
> >> >> >> > Nothing that I know of. You'd obviously get a lower graphics
> >> >> >> > performance, but otherwise I think it should be fine.
> >> >> >>
> >> >> >> You know, btw, another silly idea: if blacklisting the driver will
> >> >> >> help, but you actually care of graphics performance — you could
> try
> >> >> >> enabling it back, and then installing modesetting driver, and
> >> >> >> forcing
> >> >> >> Xorg to use it through a xorg.conf. Per my understanding the leak
> >> >> >> could specifically be in Matrox DDX driver — if this is the case,
> by
> >> >> >> replacing it with modesetting DDX you'd keep the performance and
> get
> >> >> >> rid of leaks. "modesetting" is a vendor-neutral DDX driver which
> is
> >> >> >> implemented on top of whatever driver provides OpenGL functional.
> >> >> >>
> >> >> >> It should be noted though that if leaks are in the matrox's
> >> >> >> provision
> >> >> >> of OpenGL, it won't help.
> >> >> >
> >> >> >
> >> >
> >> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.x.org/archives/xorg/attachments/20171207/f097edb2/attachment-0001.html>


More information about the xorg mailing list