Typical memory use +Linux

When I played LE on Windows I seem to remember the memory usage as being quite reasonable and comparable with similar games. On Linux, just after launching the game , I see ~10GB/63% and after an hour that increases to ~11GB/70%. That’s a lot more than I remember.

I’ve also noticed that one of the player.log files seems to be growing quite quickly. It’s increased in size by ~1MB in the last 20 minutes.

I appreciate I’m using an unsupported OS (openSUSE) and I don’t expect support but I’m curious to know if what I’m seeing is to be expected/normal?

Hey there…

It does seem like LE is using more RAM on linux than on Windows - proportional to the amount of installed RAM and related to the in-game settings chosen. I have noticed that if you chose generally higher quality settings/graphic effects, the system will use up a lot more memory than chosing very low quality etc…

The key is that it should find a baseline and fluctuate up and down rather than continualling taking more and more RAM… It does this on Windows correctly but if its not doing that on Linux it could be a problem…

For comparison… on Windows 10 at 1080p all settings on very low. I have a baseline RAM usage of about 4.75GB. If I change quality to ULTRA the Ram usage jumps to almost 9GB instantly. Changing back to very low and its down to between 4-5GB. (Note, if it wasnt clear, this refers only to the running LE process memory usage).

Obviously this is all related to the Unity Game engine and what it does on Linux so you may be able to find some additional linux config/command line for the unity player that could help you specifically. (The unity player docs are all online). The unsupported OS might be involved here, but its hard to say because of the subtle differences between each distro.

The player.log - yes… it seems like the 0.8.4 patch has included a lot more debug information than previously… While I am not having any issues with the game I am seeing player.logs that anecdotally seem to be 10x larger… e.g. pre 0.8.4 1MB logs now seem to be 10MB logs. It makes them cumbersome but unless they start going crazy it should be ok… drive space is not usually a problem :wink:

I have been monitoring the changes to memory with different settings and the difference between high and low graphics settings is ~10% (~10GB vs ~9GB at launch) The difference between High and medium is negligible ~2% at best. The worst I had today was 13.5GB which is just too much on a 16GB system. Another factor is that with low settings I have blurring with movement. I don’t see this with high.

I know there have been a few reports of High memory usage on Linux on these forums, I’ve also seen some on (take everything with a pince of salt) Reddit, with people claiming they’re using a *buntu and seeing similar numbers to me, so The unsupported OS may or may not be a factor.

I’m not overly concerned about the log size it just surprised me a little. I’ll just archive them if they get too big.

I’ll take a look at the Unity Player stuff see if I can glean anything useful, but I just can’t play when the game is using virtually all system resources and showing no sign of stopping.

Difference of 10% memory between high & low… definitely not seeing that on Windows - its much larger difference.

I am wondering if is the rendering engine on Linux vs Windows. that is taking up more memory irrespective of the quality setting. Maybe trying different rendering options on Linux could be a useful test… You dont mention if you are using Steam/proton/standalone/vulkan etc… so maybe that could be involved?

There are no memory specific command lines but you can check here:

obviously you have to use 2019.4 Unity commands as thats the version LE uses currently.

I’d already tried the --force-vulkan option but it didn’t make any discernable difference I also couldn’t find anywhere in the logs where it tells you which renderer is in use.

I’m currently using the Stand-alone native client. I have tried running through Steam, with and without Proton. I didn’t do much analysis at the time but I may try again if I can’t get the native client to behave. I also came across the GameMode daemon from FeralInteractive that allegedly helps with optimisation. Some comments I read suggest it works well with Unidy3d games…

Edit: I just found the renderer information in the log. It seem that even running with the --force-vulkan switch, the game is still using OpenGL. Maybe Vulkan isn’t supported on Linux?

Edit2: I just found out that disabling AA gets rid of the blurring I mentioned above.

That looks interesting… I see Lutris uses it and some of the Hybrid GPU environment settings it mentioned are things other Linux users have been using to get LE to work - especially with iGPUs & discreet… Looks like it cant hurt to try it.

OpenGL is the default… I dont think vulkan is working properly - there was something about a specfic combination of drivers etc that was supposed to work but I dont think anyone confirmed it… The different OpenGL versions have also made a difference for some depending on what MESA drivers are installed etc… All very much a bit of pot luck really…

AA blurring… That has helped others too - I have personally found that it depends on the resolution you are running - lower res tends to get too smoothed out on some AA settings for my perference…

Thought I’d finish this up for now. Experimented with a few things today.

  1. Running under Steam/Proton(GE) Game is unplayable as xorg.bin uses 100% CPU However, Ram, on game launch, was ~5GB (curiously proton loads a lot of Vulkan shaders and I wonder if this is an issue)

  2. Running under Steam with the Linux version is really not significantly different to running the native stand-alone client but has Steam running as an unnecessary process.

  3. The FeralInteractive gamemode thing didn’t add anything to improve memory (didn’t think it would) and as I already have reasonable performance, apart from memory, it’s not bringing anything to the table.

Wrapping up, I’ll trying anything new I find but until the memory utilisation is more in-line with Windows or I can find out why it’s using so much, it’s hard to play for more than an hour or so at a time.

So you are confirming that the memory keeps going up after playing for about an hour on Linux? i.e. its not maintaining a baseline (albeit high)? That would have to be a bug somewhere in the mix because it definitely shouldnt do that.

I was scratching around on the net re Unity on Linux and I found some interesting things related to parts of Unity & memory… Seems like if the Unity player cannot offload tasks properly to the GPU or if the OS tries to take over using a software based implementation without using the GPU, then this can use up substantially more memory than it should and in some cases this memory is not released. Now I am not a Unity dev and the reports i read are more specific to things like video encoding but it sounds similar… Especially with the issues around GPU drivers on Linux no always behaving well.

I was also wondering if this is less about Unity specifically (i.e. might not be a bug in the game code itself) and more a combination of factors like the game engine, the drivers and the OS and how they are interacting… In a similar way to the issues around Dammits planner with the hardware accelleration issues vs high cpu vs WebGL vs drivers etc…

Anyway… EHG havent really addressed Linux issues specifically that I recall but I am hoping they do eventually get someone on board deal with these problems because Linux troubleshooting is vastly more complicated than Windows and as the user base grows (and more people dont want to/cannot do Win11) I figure there are going to be a greater need for support…

I have one final thing to try tomorrow, I’ll install Ubuntu on a spare SSD and see how things behave on an officially supported OS…

Just to let you know. I installed LE under Ubuntu 21.10 and the performance and memory utilisation is virtually the same. The game, after launch, is using ~10GB. Basically, running the game under Linux seems to require twice as much memory as running under Windows.

I could run a massif heap profiler with valgrind but I’m not sure it’s going to tell me anything. It’s just what it is. I hope it improves.

I have been searching around for anything that could explain the issue but all I get are things like “Dont worry, it will not affect FPS” to “Its loading everything and not releasing system memory when offloading to the GPU” to “Why does DirectX use more memory than OpenGL!” to “There is no way to limit Unitys memory usage” to the most stupid one “Its just Linux”.

I am not a dev - at least not with game engines/graphics - so I have no insight other than guessing based on your observations…

I think this has reached the point where the devs would have to chip in to take this any further…

I will be honest, while they are very active with discussing the game/updates/future etc, they seldom spend time here actively answering things - especially with Linux… I know Mike has chipped in here a few times when called upon but I am not sure its his area of expertise…

If I am honest, it would be great if EHG could assign a proper nuts & bolts techie with Linux experience to participating here more regularly… :wink: Lets see if they read this…

Hello Catweasel, Vapourfire! I apologize if it seems like I’m being a nuisance. I just wanted to help out with the toggling of the Vulkan shaders for LE.

I went researching and testing, and it turns out that for LE, you need to add something to the normal launch argument. This was discussed by AGOLINUX here.

The only difference I have to mention is that there’s a missing hyphen. The launch argument should be:

RADV_PERFTEST=aco %command% --force-vulkan -gfx-enable-gfx-jobs 0

Thanks for the reply. Unfortunately that’s AMD specific. I currently use Nvidia. Using --force-vulkan alone doesn’t really make any difference as the game is unplayable, for me, using Steam/Proton.

8.4f seems to have made things slightly worse:

ps -ef | grep LastEpoch
mango    31966     1 99 14:59 ?        00:34:44 /home/mango/bin/LastEpoch/app/Last Epoch.x86_64
ps -p 31966 -o %mem,rss      
%MEM   RSS
68.0 11123720

Gone up ~1GB

LE under Steam Play/Proton:

ps -p 9198 -o %mem,rss
%MEM   RSS
26.6 4351172

Wast there a stealth fix in 8.4g?

%MEM   RSS
47.0 7690260

Best I’ve ever seen on the native client.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.