OS2 World Community Forum

OS/2, eCS & ArcaOS - Technical => Applications => Topic started by: Dariusz Piatkowski on February 16, 2020, 05:37:05 pm

Title: FreeRDP and shared memory consumption...
Post by: Dariusz Piatkowski on February 16, 2020, 05:37:05 pm
For those of you using Digi's FreeRDP port, I'm curious what type of shared memory consumption you're seeing.

A quick summary if you are not familiar with the app: this is a RDP client, but a fairly sophisticated one. Previously I was using rdesktop, which was great, but it did not allow you to share just a single application. FreeRDP can do exactly that. So if you have a WIN box on your LAN you can certainly run any apps you want on that machine and simply bring them to your OS/2 desktop for ease of use. Heck, taken a step further I suppose you could even run a headless setup, or even a permanent VM on OS/2 which just serves up the specific application/stuff you want...but I'm getting off topic here.

Alright, so I'm seeing a massive shared memory consumption issue on my box. When FreeRDP starts up I literally have about 100M go away, this is despite the DLLs being marked as highmem for both code & data segment (Digi confirmed that's the intended setup).

He has reviewed this over on his box and is not seeing this problem. I was able to actually peg this down to any post 20191111 release. As it turns out that version loads almost everything entirely into highmem. Theseus shows just a small amount of about 1M in the shared area, everything else (about 99M) is loaded in highmem.

This is nearly the opposite of what I was seeing with the newer releases, latest one being 20200211. I tested in both OS2 and OS4 kernels, results are the same.

My setup is using a 3840x1200 resolution display, both OS/2 client and remote host. On the OS/2 side this is made up of two-head display (2 LCD panels of 1920x1200 native resolution in a side-by-side config) driven by SNAP video drivers. The post 20191111 FreeRDP releases can be somewhat made to handle this by putting them into custom resolution as opposed to FullScreen (which is how I run them normally). So I am guessing maybe this has some bearing on the shared memory consumption symptom I'm seeing...but that's just a speculation. In my testing forcing the display resolution down to something like 1920x1200 did not seem to improve the situation drastically.

So the question I have is: if you are running FreeRDP, what version is it, and what are you seeing in terms of shared memory consumption?

Attached my DLLTree for the working and non-working releases. Some small differences, but I see nothing that blatantly pops out as causing the massive memory use.