Hi,
Just started looking why in lat few weeks my gnome desktop los a lot of its previous speed. I found that already it is consequence of some issues in last chrome. Seems chrome developers managed to kill few most annoying memory leaks causing that time to time crome processes associated with some tabs age exploding consuming +2GB memory. Despite this I found some fact that I was not aware about GDM. Theoretically GDM should provide just application running on top of raw X11/Wayland diplay to provide authentication service.I remember that few years ago it was really like this but seems not it is no longer so simple picture. Just simple ps output:
$ ps auxwf| grep ^gdm*gdm* 2097 0.0 0.0 428140 4220 tty1 Ssl+ Mar12 0:00 | _ /usr/libexec/gdm-wayland-session gnome-session --autostart /usr/share/gdm/greeter/autostart*gdm* 2102 0.0 0.0 672184 4320 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gnome-session-binary --autostart /usr/share/gdm/greeter/autostart*gdm* 2109 0.0 0.6 2657052 49872 tty1 Sl+ Mar12 1:17 | _ /usr/bin/gnome-shell*gdm* 2183 0.0 0.0 260800 7864 tty1 Sl+ Mar12 0:00 | | _ /usr/bin/Xwayland :1024 -rootless -noreset -listen 4 -listen 5 -displayfd 6*gdm* 2222 0.0 0.0 459832 3752 tty1 Sl Mar12 0:01 | | _ ibus-daemon --xim --panel disable*gdm* 2225 0.0 0.0 382688 3348 tty1 Sl Mar12 0:00 | | _ /usr/libexec/ibus-dconf*gdm* 2298 0.0 0.0 308892 2732 tty1 Sl Mar12 0:00 | | _ /usr/libexec/ibus-engine-simple*gdm* 2238 0.0 0.0 364388 3072 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-sound*gdm* 2241 0.0 0.0 481768 6540 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-wacom*gdm* 2242 0.0 0.0 477592 6692 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-xsettings*gdm* 2246 0.0 0.0 483812 6660 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-a11y-keyboard*gdm* 2247 0.0 0.0 326508 2712 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-a11y-settings*gdm* 2248 0.0 0.0 475136 6580 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-clipboard*gdm* 2249 0.0 0.0 729808 7220 tty1 Sl+ Mar12 0:20 | _ /usr/libexec/gsd-color*gdm* 2250 0.0 0.0 362740 2776 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-datetime*gdm* 2254 0.0 0.0 557560 6376 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-housekeeping*gdm* 2255 0.0 0.0 557756 6868 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-keyboard*gdm* 2256 0.0 0.0 537876 6520 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-media-keys*gdm* 2257 0.0 0.0 326512 2612 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-mouse*gdm* 2261 0.0 0.0 326508 2728 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-orientation*gdm* 2262 0.0 0.0 578980 6408 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-power*gdm* 2267 0.0 0.0 521884 6540 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-print-notifications*gdm* 2268 0.0 0.0 326524 3352 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-rfkill*gdm* 2269 0.0 0.0 400248 3020 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-screensaver-proxy*gdm* 2270 0.0 0.0 157972 3288 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-sharing*gdm* 2278 0.0 0.0 345124 2772 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-smartcard*gdm* 2280 0.0 0.0 483980 6444 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-xrandr*gdm* 2906 0.0 0.1 188904 8344 tty1 S+ Mar12 0:00 | _ /usr/libexec/gnome-session-failed*gdm* 1927 0.0 0.0 74532 1608 ? Ss Mar12 0:00 /usr/lib/systemd/systemd --user*gdm* 2090 0.0 0.0 250440 440 ? S Mar12 0:00 _ (sd-pam)*gdm* 2100 0.0 0.0 49104 2680 ? Ss Mar12 0:00 _ /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only*gdm* 2190 0.0 0.0 344848 3208 ? Ssl Mar12 0:00 _ /usr/libexec/at-spi-bus-launcher*gdm* 2195 0.0 0.0 48800 2628 ? S Mar12 0:00 | _ /bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3*gdm* 2197 0.0 0.0 223708 3720 ? Sl Mar12 0:00 _ /usr/libexec/at-spi2-registryd --use-gnome-session*gdm* 2368 0.0 0.0 187540 2924 ? Sl Mar12 0:00 _ /usr/libexec/dconf-service*gdm* 2203 0.0 0.0 985696 3872 ? Sl Mar12 0:00 /usr/bin/pulseaudio --start --log-target=syslog*gdm* 2228 0.0 0.0 482088 6724 tty1 Sl Mar12 0:00 /usr/libexec/ibus-x11 --kill-daemon
shows that gdm user is running whole set of processes running in full separated X/Wayland session. Is it really needs to be so complicated? Those processes are not all. Because in this tree is running gsd-housekeeping definitely it will be time to time much more like tracker processes (by the way there is no no possibility to disable tracker in X/Wayland session).
I know that things are changing and many new features should be or could be handled by Gnome desktop but seems somewhere in the past Gnome started derailing from the KISS principle path. Is it any existing alternative to start Gnome desktop not over GDM?
kloczek
On Tue, Mar 14, 2017 at 06:37:05PM +0000, Tomasz Kłoczko wrote:
Hi,
Just started looking why in lat few weeks my gnome desktop los a lot of its previous speed. I found that already it is consequence of some issues in last chrome. Seems chrome developers managed to kill few most annoying memory leaks causing that time to time crome processes associated with some tabs age exploding consuming +2GB memory. Despite this I found some fact that I was not aware about GDM. Theoretically GDM should provide just application running on top of raw X11/Wayland diplay to provide authentication service.I remember that few years ago it was really like this but seems not it is no longer so simple picture. Just simple ps output:
$ ps auxwf| grep ^gdm*gdm* 2097 0.0 0.0 428140 4220 tty1 Ssl+ Mar12 0:00 | _ /usr/libexec/gdm-wayland-session gnome-session --autostart /usr/share/gdm/greeter/autostart*gdm* 2102 0.0 0.0 672184 4320 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gnome-session-binary --autostart /usr/share/gdm/greeter/autostart*gdm* 2109 0.0 0.6 2657052 49872 tty1 Sl+ Mar12 1:17 | _ /usr/bin/gnome-shell*gdm* 2183 0.0 0.0 260800 7864 tty1 Sl+ Mar12 0:00 | | _ /usr/bin/Xwayland :1024 -rootless -noreset -listen 4 -listen 5 -displayfd 6*gdm* 2222 0.0 0.0 459832 3752 tty1 Sl Mar12 0:01 | | _ ibus-daemon --xim --panel disable*gdm* 2225 0.0 0.0 382688 3348 tty1 Sl Mar12 0:00 | | _ /usr/libexec/ibus-dconf*gdm* 2298 0.0 0.0 308892 2732 tty1 Sl Mar12 0:00 | | _ /usr/libexec/ibus-engine-simple*gdm* 2238 0.0 0.0 364388 3072 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-sound*gdm* 2241 0.0 0.0 481768 6540 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-wacom*gdm* 2242 0.0 0.0 477592 6692 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-xsettings*gdm* 2246 0.0 0.0 483812 6660 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-a11y-keyboard*gdm* 2247 0.0 0.0 326508 2712 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-a11y-settings*gdm* 2248 0.0 0.0 475136 6580 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-clipboard*gdm* 2249 0.0 0.0 729808 7220 tty1 Sl+ Mar12 0:20 | _ /usr/libexec/gsd-color*gdm* 2250 0.0 0.0 362740 2776 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-datetime*gdm* 2254 0.0 0.0 557560 6376 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-housekeeping*gdm* 2255 0.0 0.0 557756 6868 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-keyboard*gdm* 2256 0.0 0.0 537876 6520 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-media-keys*gdm* 2257 0.0 0.0 326512 2612 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-mouse*gdm* 2261 0.0 0.0 326508 2728 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-orientation*gdm* 2262 0.0 0.0 578980 6408 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-power*gdm* 2267 0.0 0.0 521884 6540 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-print-notifications*gdm* 2268 0.0 0.0 326524 3352 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-rfkill*gdm* 2269 0.0 0.0 400248 3020 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-screensaver-proxy*gdm* 2270 0.0 0.0 157972 3288 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-sharing*gdm* 2278 0.0 0.0 345124 2772 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-smartcard*gdm* 2280 0.0 0.0 483980 6444 tty1 Sl+ Mar12 0:00 | _ /usr/libexec/gsd-xrandr*gdm* 2906 0.0 0.1 188904 8344 tty1 S+ Mar12 0:00 | _ /usr/libexec/gnome-session-failed*gdm* 1927 0.0 0.0 74532 1608 ? Ss Mar12 0:00 /usr/lib/systemd/systemd --user*gdm* 2090 0.0 0.0 250440 440 ? S Mar12 0:00 _ (sd-pam)*gdm* 2100 0.0 0.0 49104 2680 ? Ss Mar12 0:00 _ /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only*gdm* 2190 0.0 0.0 344848 3208 ? Ssl Mar12 0:00 _ /usr/libexec/at-spi-bus-launcher*gdm* 2195 0.0 0.0 48800 2628 ? S Mar12 0:00 | _ /bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3*gdm* 2197 0.0 0.0 223708 3720 ? Sl Mar12 0:00 _ /usr/libexec/at-spi2-registryd --use-gnome-session*gdm* 2368 0.0 0.0 187540 2924 ? Sl Mar12 0:00 _ /usr/libexec/dconf-service*gdm* 2203 0.0 0.0 985696 3872 ? Sl Mar12 0:00 /usr/bin/pulseaudio --start --log-target=syslog*gdm* 2228 0.0 0.0 482088 6724 tty1 Sl Mar12 0:00 /usr/libexec/ibus-x11 --kill-daemon
This doesn't show much, after being wrapped ;)
From my own machine: root 865 0.0 0.0 696572 6808 ? Ssl Feb26 0:00 /usr/sbin/gdm root 971 0.0 0.0 382540 4916 ? Sl Feb26 0:00 _ gdm-session-worker [pam/gdm-launch-environment] gdm 982 0.0 0.0 428996 7140 tty1 Ssl+ Feb26 0:00 | _ /usr/libexec/gdm-wayland-session gnome-session --autostart /usr/sh gdm 987 0.0 0.1 672220 8464 tty1 Sl+ Feb26 0:00 | _ /usr/libexec/gnome-session-binary --autostart /usr/share/gdm/g gdm 994 0.0 1.1 1902268 88580 tty1 Sl+ Feb26 0:38 | _ /usr/bin/gnome-shell gdm 1023 0.0 0.2 255492 22712 tty1 Sl+ Feb26 0:00 | | _ /usr/bin/Xwayland :1024 -rootless -noreset -listen 4 - gdm 1056 0.0 0.0 460020 6076 tty1 Sl Feb26 0:04 | | _ ibus-daemon --xim --panel disable gdm 1059 0.0 0.0 382424 3352 tty1 Sl Feb26 0:00 | | _ /usr/libexec/ibus-dconf gdm 1102 0.0 0.0 308624 3572 tty1 Sl Feb26 0:00 | | _ /usr/libexec/ibus-engine-simple gdm 1082 0.0 0.2 1539020 22484 tty1 Sl+ Feb26 0:06 | _ /usr/libexec/gnome-settings-daemon
From what I know, gnome developers are working on getting rid of the Xwayland dependency. Once that goes away, things will be a bit more lean. But it's unlikely that all of those processes will go away — e.g. ibus is used for input of various languages, and it's needed. If anything, we'll be moving towards having full-featured graphical input handling earlier and earlier. For example see https://bugzilla.redhat.com/show_bug.cgi?id=1405539 for a discussion how it sucks for users that the kernel console has a completely separate and substandard stack for input in non-ascii languages.
shows that gdm user is running whole set of processes running in full separated X/Wayland session.
It's not so bad really. The next-to-last column is cpu time. It's completely negligible if you consider that this machine has been up since Feb 26. The column before ?/tty1 is RSS, and it's also small. gnome-shell is a bit big with 88MB, but that's the price we pay for feature-full login screen.
Is it really needs to be so complicated?
Yeah, mostly.
Zbyszek
On Tue, 2017-03-14 at 19:39 +0000, Zbigniew Jędrzejewski-Szmek wrote:
Is it really needs to be so complicated?
Yeah, mostly.
The login screen is a full gnome-shell instance run by the gdm user, as you see from your process tree, so yes indeed.
The real problem here is the login screen should *really* not be running when it's not displayed to the user. That's a regression introduced in Fedora 22 when Wayland support was added:
https://bugzilla.gnome.org/show_bug.cgi?id=747339
Michael
On 14 March 2017 at 19:39, Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl wrote:
This doesn't show much, after being wrapped ;)
OK. Please tell a bit more about what kind of wrapping you been using here :)
shows that gdm user is running whole set of processes running in full
separated X/Wayland session.
It's not so bad really. The next-to-last column is cpu time. It's completely negligible if you consider that this machine has been up since Feb 26. The column before ?/tty1 is RSS, and it's also small. gnome-shell is a bit big with 88MB, but that's the price we pay for feature-full login screen.
As long as gdm user has some possibility to log in to the system other users I would be really unhappy to discover that some security bug in those processes was used to login into my system some parasites :)
kloczek
On Tue, Mar 14, 2017 at 08:05:20PM +0000, Tomasz Kłoczko wrote:
On 14 March 2017 at 19:39, Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl wrote:
This doesn't show much, after being wrapped ;)
OK. Please tell a bit more about what kind of wrapping you been using here :)
In mutt your message appears to be wrapped to ~80 columns. I think mine is not wrapped, at least it appears this way to me. But in the web interface, both look the same, bad: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/....
shows that gdm user is running whole set of processes running in full
separated X/Wayland session.
It's not so bad really. The next-to-last column is cpu time. It's completely negligible if you consider that this machine has been up since Feb 26. The column before ?/tty1 is RSS, and it's also small. gnome-shell is a bit big with 88MB, but that's the price we pay for feature-full login screen.
As long as gdm user has some possibility to log in to the system other users I would be really unhappy to discover that some security bug in those processes was used to login into my system some parasites :)
gdm does not listen on the network, so whether or not gdm is still running after you log doesn't make that much difference. A local user can always cause gdm to be launched, by using the switch-user functionality. It would be nicer of course for it to go away after login, since many people just log in once per reboot.
Zbyszek
On 14 March 2017 at 21:32, Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl wrote:
gdm does not listen on the network, so whether or not gdm is still running after you log doesn't make that much difference. A local user can always cause gdm to be launched, by using the switch-user functionality. It would be nicer of course for it to go away after login, since many people just log in once per reboot.
You forgot that with some of those processes is possible to communicate over unix sockets. Keeping things simple as possible is always is main principle :)
kloczek