Hello!
Addendum.
I'll add obervations, which may be related.
1) Firefox stucks - no data comes in, network 0b/s.
2) Viewing video, video stucks shortly after start.
If this just happens, just change the current workspace
on the client side (where the windows are) and switch
back immidiately: Problem "solved" in the same moment.
The one window has its data, the other play the video.
Looks like, it has something to do with window manager
or something, which is not knowing, where the rigth
window is?
(I am using published applications most of the time).
Update.
Due to updates, I had to shutdown all and restart.
This make verything shine golden and remind me,
that immidiately after starting the x2go client (and
server!), perf is really well (I described my hw/sw
already).
Its usually over time, that perf degrades that much.
Over time is someting really over days, because
I usually do no shutdowns, but hibernate my workstation.
What I saw before the restart, was additionally a laggy
scrolling behavior in Firefox and it reminds me, that
I saw this bevore - looks probably related to the memory
leak of the x2goagent. After the restart, scrolling
works fine.
Related.
I have two lxc-containers running on my gateway, one
for dns, one for a squid proxy. Both works well,
but sometimes, perf is in question.
I usually run a terminal to the gateway host and
monitor this containers using lxc-top. The related
thing is: relative high cpu (20%) and growing mem-use,
the reason, they must finally rebooted each two weeks.
Now, I've disabled x2goserver in both containers and
I am running the third day now: 0%(!!) cpu, NO memory
leak. They all run debian buster (fully upgraded)
on kernel 5.10, x2goserver 4.1.0.3-4.
May be this helps.
So the memory-leak seems to be obvious. In the current,
new cycle for my main-use, mem climbed already up
from 0.6% to 5.0%.
Regards,
Manfred
----- Original Message -----
From: webman(a)manfbraun.de [mailto:webman@manfbraun.de]
To: <x2go-user(a)lists.x2go.org>
Sent: Tue, 11 Apr 2023 02:27:46 +0200
Subject: [X2Go-User] Performance problems with x2go - hickups, pause, probably memory-leak
Hello!
I probably detected strong problems with x2go, not very easy to explain.
I am running a debian bullseye desktop, on it a kvm guest with debian
bullseye, both have kernel6. The kvm guest x2goserver: 4.1.0.3-5, the
host (my workstation) x2goclient: 4.1.2.2-2. Usually everything updated.
The problem is the performance of firefox, but not generally. It stucks
sometimes, up to several minutes and is completely unresponsive,
especially(!), if it comes to youtube videos, but most time, it is not
video.
Astoundigly, in the many cases, it recovers. I am run dstat permanently
(in the guest) and usually see a memory bottleneck (mem < 1 GB), not
too strong and additionally high cpu usage, load: 6/4/4, but not too long.
Often, this box crashes, if mem goes below 500 MB. Known, with firefox.
For unknown reasons, this situation is not stabil (I am using up to
500 Tabs), one will never know, when this may happen and pre-actively
saveing the session and continue with, say, 50 Tab, doesnt change the
problem!
The VM got 8 cores(!) on a AMD EPYC-Rome Processor with max 3.4 Ghz
and 24 GB(!) mem, it got two network interfaces, one, to communicate with
my host over a local bridge (10-36 Gb/s!), this is the "x2go-channel" and
a lan-IF (1 Gb/s, hardware-passthrough) to the gateway (has 500 Mb/s) and
nothing overloaded ever. Additionally some diskwrite, but with 600MB/s
(in the VM!) this should not indicate a bottleneck.
But since days, while another hickup, I saw, that the fox needs about
only 20% cpu, BUT 'x2goagent' neds 100% !! It looks like the hickup
appears exactly at those times. I setup a little processmonitor for the
x2goagent and this seems to show a memory leak. I append this at the
end. I installed 'glances' and that show me the x2goclient as the second
mem consumer, growing.
What language is the x2goagent written? Looks like a failing
heap-management, garbage collection, which needs a lot of cpu?
Some notes would be really welcome!
Thanks,
Manfred
--- x2go-"monitor" -----------------------------------
(to keep this short, it has been cutted in the middle)
$ while true; do ts="$(isodate -dt)"; xp="$(ps --no-headers -o user,pid,rss,%mem,comm -p 9430)"; echo "${ts} ${xp}"; sleep 3600; done
2023-04-05--22-21-29 ncu1 9430 1479916 6.0 x2goagent
2023-04-05--23-21-30 ncu1 9430 1491476 6.0 x2goagent
2023-04-06--00-21-30 ncu1 9430 1507612 6.1 x2goagent
2023-04-06--01-21-30 ncu1 9430 1514504 6.1 x2goagent
2023-04-06--02-21-30 ncu1 9430 1545784 6.2 x2goagent
2023-04-06--03-21-30 ncu1 9430 1560096 6.3 x2goagent
2023-04-06--04-21-30 ncu1 9430 1664844 6.7 x2goagent
2023-04-06--05-21-30 ncu1 9430 1684888 6.8 x2goagent
2023-04-06--14-06-28 ncu1 9430 1684888 6.8 x2goagent
.......
2023-04-10--16-06-31 ncu1 9430 2263236 9.1 x2goagent
2023-04-10--17-06-31 ncu1 9430 2274848 9.2 x2goagent
2023-04-10--18-06-31 ncu1 9430 2305704 9.3 x2goagent
2023-04-10--19-06-31 ncu1 9430 2352964 9.5 x2goagent
2023-04-10--20-06-32 ncu1 9430 2352964 9.5 x2goagent
2023-04-10--21-06-32 ncu1 9430 2406988 9.7 x2goagent
2023-04-10--22-06-32 ncu1 9430 2446112 9.9 x2goagent
======================================================