[OpenIndiana-discuss] GUI performance

Toomas Soome tsoome at me.com
Sat Sep 4 09:23:03 UTC 2021



> On 4. Sep 2021, at 11:37, russell <stream at willows7.myzen.co.uk> wrote:
> 
> Hi
> 
> I have been wondering about the time it takes the GUI Login screen to appear on boot my computer and after logout to return to the GUI Login screen.
> This morning I decided to time this and the timings are pretty consistent.
> 
> So from boot timing the display of the text login: prompt, the screen blanks and then the GUI Login appears takes on average 1 minute 54 seconds to appear.
> 
> After logout from the GUI, timing from press of the Log out button to the GUI Login appearing takes on average 1 minute 50 seconds to appear.
> 
> I have a Ryzen 5 5600X, MSI MPG B550 Gaming Plus system board, Geforce 1650 PCI-e Gen 3 card,  64GB RAM, SSD ZFS boot pool and ZFS Raidz2 HDD home directory pool.
> 
> How can speed up the appearance of the GUI login?
> 
> Would overclocking the CPU help or buying the fast RAM significantly improve the performance?
> Is the Graphics Card the problem as it handling a 4K screen? However looking at the information in the Nvidia X Server Settings the graphics card is only peaking around 46% CPU utilisation.
> 
> 

Those are different questions.

time to login on boot:

Text mode console login depends on:

tsoome at beastie:~$ svcs -d console-login:default
STATE          STIME    FMRI
disabled       sept_01  svc:/system/auditd:default
online         sept_01  svc:/system/identity:node
online         sept_01  svc:/system/filesystem/minimal:default
online         sept_01  svc:/milestone/sysconfig:default
online         sept_01  svc:/system/utmp:default
tsoome at beastie:~$ 

This is rather minimal set of services, and if you attempt to login with your user as soon as the prompt appears, you may end up homeless (home is not yet mounted, or mounting local file systems is still in progress).

Now GUI login is much more interesting:

tsoome at beastie:~$ svcs -d lightdm
STATE          STIME    FMRI
online         sept_01  svc:/application/opengl/ogl-select:default
online         sept_01  svc:/application/desktop-cache/gio-module-cache:default
online         sept_01  svc:/system/dbus:default
online         sept_01  svc:/milestone/sysconfig:default
online         sept_01  svc:/system/utmp:default
online         sept_01  svc:/application/font/fc-cache:default
online         sept_01  svc:/system/filesystem/local:default
online         sept_01  svc:/application/x11/x11-init:default
online         sept_01  svc:/system/consolekit:default
online         sept_01  svc:/system/hal:default
online         sept_01  svc:/milestone/multi-user:default
tsoome at beastie:~$ 

there, milestone/multi-user means that basically every enabled service must be started. local file systems need to be mounted, few other services too. I think, we could drop milestone/multi-user, but this would need testing. Probably autofs should be listed as well (even if there seem to be less and less people understanding autofs…).

Essentially, GUI login should have the services actually needed to get access to users home and to make it possible to start up desktop session.

The time from logout to new login screen is different question — all the services should be there and the login manager running, so the question would be about how much time it does take to actually logout and prepare login screen for next user. It may be, your raidz2 is not as fast as you would like to be for storing session states etc.

To debug logout activities, you would need to have ssh session over network or like,  check iostat and other metrics in attempt to find out what is going on there.

rgds,
toomas


More information about the openindiana-discuss mailing list