Hello,
We've been using x2go for a few months. Recent converts from using the old freenx nomachine 3.5.
We installed x2goserver on Ubuntu mate 18.04 and have several users connecting through x2goclient 4.1.2.2
I have a question regarding suspended sessions with x2go. When we suspended an open session, we noticed the session stopped running. After resuming the session the next day, the process resumed executing. Thought this was strange and rebooted the server.
Ran a few tests and noticed performance slows after suspending a session.
Here is output from gxlgears. You can see the FPS decreases when the session suspends. The FPS returns back to normal (633 at the bottom), upon resuming the session.
[cid:d252b9bd-2ad8-4a2a-800c-7e6c2a417eef]
I searched online and discovered you can change the /etc/x2go/x2goagent.options to X2GO_NXOPTIONS="sleep=0". When doing this, now the performance increases considerably after suspending the session (middle portion of the output).
[cid:4ba36847-76fc-4d46-ad13-1f0165a293c2]
Is there a way to suspend an x2go session, and have no decrease or increase in performance? Is there some setting we can change to keep things running as is while session is suspended?
Thanks in advance.
h
Hello,
the sleep is thought to reduce load when a session is not in use. If that is undesired you can set it to 0 as you already found out. In that case X2go or rather nx) does not need to transfer data from the server to the client and therefore is faster. I don't really see how this could be smoothed with the current software.
_Maybe_ you can improve the situation by setting sleep to 0 and use the superrenicer feature of x2goserver. See /etc/x2go/x2goserver.conf. I have no experience with this, maybe someone else can add more information here.
Uli
On Thu, May 28, 2020 at 8:49 PM h i <qpile117@outlook.com> wrote:
Hello,
We've been using x2go for a few months. Recent converts from using the old freenx nomachine 3.5.
We installed x2goserver on Ubuntu mate 18.04 and have several users connecting through x2goclient 4.1.2.2
I have a question regarding suspended sessions with x2go. When we suspended an open session, we noticed the session stopped running. After resuming the session the next day, the process resumed executing. Thought this was strange and rebooted the server.
Ran a few tests and noticed performance slows after suspending a session.
Here is output from gxlgears. You can see the FPS decreases when the session suspends. The FPS returns back to normal (633 at the bottom), upon resuming the session.
I searched online and discovered you can change the /etc/x2go/x2goagent.options to X2GO_NXOPTIONS="sleep=0". When doing this, now the performance increases considerably after suspending the session (middle portion of the output).
Is there a way to suspend an x2go session, and have no decrease or increase in performance? Is there some setting we can change to keep things running as is while session is suspended?
Thanks in advance.
h
x2go-user mailing list x2go-user@lists.x2go.org https://lists.x2go.org/listinfo/x2go-user
One more thing: Maybe using -irlimit could help here, too:
-irlimit <kB/s>. This will limit the amount of data that is used to update drawables on the real display. It can only be passed via command line. To play with it add it to /etc/x2go/x2goagent.options.
Uli
On Thu, May 28, 2020 at 9:56 PM Ulrich Sibiller <uli42@gmx.de> wrote:
Hello,
the sleep is thought to reduce load when a session is not in use. If that is undesired you can set it to 0 as you already found out. In that case X2go or rather nx) does not need to transfer data from the server to the client and therefore is faster. I don't really see how this could be smoothed with the current software.
_Maybe_ you can improve the situation by setting sleep to 0 and use the superrenicer feature of x2goserver. See /etc/x2go/x2goserver.conf. I have no experience with this, maybe someone else can add more information here.
Uli
On Thu, May 28, 2020 at 8:49 PM h i <qpile117@outlook.com> wrote:
Hello,
We've been using x2go for a few months. Recent converts from using the old freenx nomachine 3.5.
We installed x2goserver on Ubuntu mate 18.04 and have several users connecting through x2goclient 4.1.2.2
I have a question regarding suspended sessions with x2go. When we suspended an open session, we noticed the session stopped running. After resuming the session the next day, the process resumed executing. Thought this was strange and rebooted the server.
Ran a few tests and noticed performance slows after suspending a session.
Here is output from gxlgears. You can see the FPS decreases when the session suspends. The FPS returns back to normal (633 at the bottom), upon resuming the session.
I searched online and discovered you can change the /etc/x2go/x2goagent.options to X2GO_NXOPTIONS="sleep=0". When doing this, now the performance increases considerably after suspending the session (middle portion of the output).
Is there a way to suspend an x2go session, and have no decrease or increase in performance? Is there some setting we can change to keep things running as is while session is suspended?
Thanks in advance.
h
x2go-user mailing list x2go-user@lists.x2go.org https://lists.x2go.org/listinfo/x2go-user
Hello,
By how much does the load reduce? I tried again over the weekend, and a typical 5 minute process now takes 3 hours during a suspended session. Is this normal or is there some underlying issue? Did this type of behavior occur under freenx? Just don't recall this type of reduced speed while suspending a session on the client side and running something overnight. I've recently installed a Windows update on the client side and updated our ubuntu 18.04 LTS server with mate DE. Any input would be appreciated. Thanks.
h
From: Ulrich Sibiller <uli42@gmx.de> Sent: Thursday, May 28, 2020 3:56 PM To: h i <qpile117@outlook.com> Cc: x2go-user@lists.x2go.org <x2go-user@lists.x2go.org> Subject: Re: [X2Go-User] Suspending sessions causes performance slowing down
Hello,
the sleep is thought to reduce load when a session is not in use. If that is undesired you can set it to 0 as you already found out. In that case X2go or rather nx) does not need to transfer data from the server to the client and therefore is faster. I don't really see how this could be smoothed with the current software.
_Maybe_ you can improve the situation by setting sleep to 0 and use the superrenicer feature of x2goserver. See /etc/x2go/x2goserver.conf. I have no experience with this, maybe someone else can add more information here.
Uli
On Thu, May 28, 2020 at 8:49 PM h i <qpile117@outlook.com<mailto:qpile117@outlook.com>> wrote: Hello,
We've been using x2go for a few months. Recent converts from using the old freenx nomachine 3.5.
We installed x2goserver on Ubuntu mate 18.04 and have several users connecting through x2goclient 4.1.2.2
I have a question regarding suspended sessions with x2go. When we suspended an open session, we noticed the session stopped running. After resuming the session the next day, the process resumed executing. Thought this was strange and rebooted the server.
Ran a few tests and noticed performance slows after suspending a session.
Here is output from gxlgears. You can see the FPS decreases when the session suspends. The FPS returns back to normal (633 at the bottom), upon resuming the session.
[cid:1725cd5e03e2ba17cce1]
I searched online and discovered you can change the /etc/x2go/x2goagent.options to X2GO_NXOPTIONS="sleep=0". When doing this, now the performance increases considerably after suspending the session (middle portion of the output).
[cid:1725cd5e03f8588047a2]
Is there a way to suspend an x2go session, and have no decrease or increase in performance? Is there some setting we can change to keep things running as is while session is suspended?
Thanks in advance.
h
x2go-user mailing list x2go-user@lists.x2go.org<mailto:x2go-user@lists.x2go.org> https://lists.x2go.org/listinfo/x2go-user
On Mon, Jun 1, 2020 at 5:51 PM h i <qpile117@outlook.com> wrote:
By how much does the load reduce? I tried again over the weekend, and a typical 5 minute process now takes 3 hours during a suspended session. Is this normal or is there some underlying issue? Did this type of behavior occur under freenx? Just don't recall this type of reduced speed while suspending a session on the client side and running something overnight. I've recently installed a Windows update on the client side and updated our ubuntu 18.04 LTS server with mate DE. Any input would be appreciated. Thanks.
I cannot give you a percentage. It depends on the workload. There are two locations where the nxagent will sleep before going on: The first is where the nxagent waits for input by his clients or the real X server and the second one is when clients are sending pixmaps to the nxagent. Here the sleep depends on the size of the pixmap. Bigger pixmap, longer sleep.
So sessions with a higher percentage of pixmap operations are slower than others.
This behaviour was added in June 2016 between 3.5.0.28 and 3.5.0.29 (commit 6051dec4a1ae6decd9123a3310098baf43f45c49). So if it was active with freenx depends on what version of nx-libs your were using with freenx.
Uli
Thanks for the info, Uli.
I ran a few tests and see the issue is GUI related in our case. It seems to speak to the 2nd reason for sleep you described regarding the sending of pixmaps.
I ran two MATLAB scripts. Both including the same steps. However, 1 script suppressed pop-windows tracking the script status. The 2nd script did not suppress the pop-up windows displaying real-time status. The 1st script involving command lines ran in the same amount whether the session was active or suspended. No reduction of time or CPU usage. The 2nd script took much longer and CPU was reduced significantly while the session was suspended.
A few questions:
h
From: Ulrich Sibiller <uli42@gmx.de> Sent: Monday, June 1, 2020 5:22 PM To: h i <qpile117@outlook.com> Cc: x2go-user@lists.x2go.org <x2go-user@lists.x2go.org> Subject: Re: [X2Go-User] Suspending sessions causes performance slowing down
On Mon, Jun 1, 2020 at 5:51 PM h i <qpile117@outlook.com> wrote:
By how much does the load reduce? I tried again over the weekend, and a typical 5 minute process now takes 3 hours during a suspended session. Is this normal or is there some underlying issue? Did this type of behavior occur under freenx? Just don't recall this type of reduced speed while suspending a session on the client side and running something overnight. I've recently installed a Windows update on the client side and updated our ubuntu 18.04 LTS server with mate DE. Any input would be appreciated. Thanks.
I cannot give you a percentage. It depends on the workload. There are two locations where the nxagent will sleep before going on: The first is where the nxagent waits for input by his clients or the real X server and the second one is when clients are sending pixmaps to the nxagent. Here the sleep depends on the size of the pixmap. Bigger pixmap, longer sleep.
So sessions with a higher percentage of pixmap operations are slower than others.
This behaviour was added in June 2016 between 3.5.0.28 and 3.5.0.29 (commit 6051dec4a1ae6decd9123a3310098baf43f45c49). So if it was active with freenx depends on what version of nx-libs your were using with freenx.
Uli
On Tue, Jun 2, 2020 at 3:04 AM h i <qpile117@outlook.com> wrote:
I ran a few tests and see the issue is GUI related in our case. It seems to speak to the 2nd reason for sleep you described regarding the sending of pixmaps.
I ran two MATLAB scripts. Both including the same steps. However, 1 script suppressed pop-windows tracking the script status. The 2nd script did not suppress the pop-up windows displaying
What gui toolkit is matlab using?
real-time status. The 1st script involving command lines ran in the same amount whether the session was active or suspended. No reduction of time or CPU usage. The 2nd script took much longer and CPU was reduced significantly while the session was suspended.
A few questions:
for X2GO_NXOPTIONS="sleep=0", what does 0 represent in time. If I set the value to 1000, what would that mean?
This defines how long nxagent should sleep. The unit should be microseconds but there's a ticket for doublechecking that because it looks like a mixup happened during implementation (https://github.com/ArcticaProject/nx-libs/issues/928).
Is the idle-nice-level=19 for suspended sessions the default setting?
As I said I don't know the superreniver feature in detail.
Would the supernicer setting override the x2goagent sleep option setting?
no, they are two different things.
What would be an example command for the -irlimit option in x2goagent.options file.
see https://github.com/ArcticaProject/nx-libs/issues/796
Uli
I can answer about the GUI toolkit. I was debugging MATLAB performance issues last week so I looked into this.
Matlab uses the jobamp/jogl framework. https://jogamp.org/jogl/www/
In my Ubuntu/x2go/MATE setup, it falls back on a "software OpenGL" mode, which actually looks like MESA/Gallium software rendering:
In Matlab:
opengl info Version: '2.1 Mesa 17.1.3' Vendor: 'Brian Paul' Renderer: 'Mesa X11' MaxTextureSize: 16384 Visual: 'Visual 0x61, (RGBA 32 bits (8 8 8 8), Z depth 16 bits, Hardware acceleration, Double buffer, Antialias 0 samples)' Software: 'true' HardwareSupportLevel: 'none (known graphics driver issues)' SupportsGraphicsSmoothing: 0 SupportsDepthPeelTransparency: 1 SupportsAlignVertexCenters: 0 Extensions: {152×1 cell} MaxFrameBufferSize: 16384
johannes@compute-2:/usr/local/MATLAB/R2019a/sys/opengl/lib/glnxa64$ ls -1 C11ThreadEmulationLibraryLicense.rights EXTHeaderLicense.rights GalliumCodeLicense.rights GLXClientCodeLicense.rights libGL.so.1 libGL.so.1.6.0 libGLU.rights libGLU.so.1 libGLU.so.1.3.1 MesaDeviceDriversLicense.rights MesaLicense.rights
— Johannes Töger
Associate Senior Lecturer Cardiac MR Group Department of Clinical Sciences Lund, Clinical Physiology Lund University, Sweden
-----Original Message----- From: x2go-user <x2go-user-bounces@lists.x2go.org> On Behalf Of Ulrich Sibiller Sent: Tuesday, June 2, 2020 09:15 To: h i <qpile117@outlook.com> Cc: x2go-user@lists.x2go.org Subject: Re: [X2Go-User] Suspending sessions causes performance slowing down
On Tue, Jun 2, 2020 at 3:04 AM h i <qpile117@outlook.com> wrote:
I ran a few tests and see the issue is GUI related in our case. It seems to speak to the 2nd reason for sleep you described regarding the sending of pixmaps.
I ran two MATLAB scripts. Both including the same steps. However, 1 script suppressed pop-windows tracking the script status. The 2nd script did not suppress the pop-up windows displaying
What gui toolkit is matlab using?
real-time status. The 1st script involving command lines ran in the same amount whether the session was active or suspended. No reduction of time or CPU usage. The 2nd script took much longer and CPU was reduced significantly while the session was suspended.
A few questions:
for X2GO_NXOPTIONS="sleep=0", what does 0 represent in time. If I set the value to 1000, what would that mean?
This defines how long nxagent should sleep. The unit should be microseconds but there's a ticket for doublechecking that because it looks like a mixup happened during implementation (https://github.com/ArcticaProject/nx-libs/issues/928).
Is the idle-nice-level=19 for suspended sessions the default setting?
As I said I don't know the superreniver feature in detail.
Would the supernicer setting override the x2goagent sleep option setting?
no, they are two different things.
What would be an example command for the -irlimit option in x2goagent.options file.
see https://github.com/ArcticaProject/nx-libs/issues/796
Uli
x2go-user mailing list x2go-user@lists.x2go.org https://lists.x2go.org/listinfo/x2go-user
Usually you can instruct java to use xrender by calling java with "-Dsun.java2d.xrender=true" or run "export _JAVA_OPTIONS=-Dsun.java2d.xrender=true" prior to starting the java application. You can also configure that globally: https://serverfault.com/questions/270924/setting-java-runtime-setting-for-al...
This generally should reduce the number of pixmap related calls. But I don't know if it will have any effect on jogl.
Uli
On Tue, Jun 2, 2020 at 10:47 AM Johannes Töger <johannes.toger@med.lu.se> wrote:
I can answer about the GUI toolkit. I was debugging MATLAB performance issues last week so I looked into this.
Matlab uses the jobamp/jogl framework. https://jogamp.org/jogl/www/
In my Ubuntu/x2go/MATE setup, it falls back on a "software OpenGL" mode, which actually looks like MESA/Gallium software rendering:
In Matlab:
opengl info Version: '2.1 Mesa 17.1.3' Vendor: 'Brian Paul' Renderer: 'Mesa X11' MaxTextureSize: 16384 Visual: 'Visual 0x61, (RGBA 32 bits (8 8 8 8), Z depth 16 bits, Hardware acceleration, Double buffer, Antialias 0 samples)' Software: 'true' HardwareSupportLevel: 'none (known graphics driver issues)' SupportsGraphicsSmoothing: 0 SupportsDepthPeelTransparency: 1 SupportsAlignVertexCenters: 0 Extensions: {152×1 cell} MaxFrameBufferSize: 16384
johannes@compute-2:/usr/local/MATLAB/R2019a/sys/opengl/lib/glnxa64$ ls -1 C11ThreadEmulationLibraryLicense.rights EXTHeaderLicense.rights GalliumCodeLicense.rights GLXClientCodeLicense.rights libGL.so.1 libGL.so.1.6.0 libGLU.rights libGLU.so.1 libGLU.so.1.3.1 MesaDeviceDriversLicense.rights MesaLicense.rights
— Johannes Töger
Associate Senior Lecturer Cardiac MR Group Department of Clinical Sciences Lund, Clinical Physiology Lund University, Sweden
-----Original Message----- From: x2go-user <x2go-user-bounces@lists.x2go.org> On Behalf Of Ulrich Sibiller Sent: Tuesday, June 2, 2020 09:15 To: h i <qpile117@outlook.com> Cc: x2go-user@lists.x2go.org Subject: Re: [X2Go-User] Suspending sessions causes performance slowing down
On Tue, Jun 2, 2020 at 3:04 AM h i <qpile117@outlook.com> wrote:
I ran a few tests and see the issue is GUI related in our case. It seems to speak to the 2nd reason for sleep you described regarding the sending of pixmaps.
I ran two MATLAB scripts. Both including the same steps. However, 1 script suppressed pop-windows tracking the script status. The 2nd script did not suppress the pop-up windows displaying
What gui toolkit is matlab using?
real-time status. The 1st script involving command lines ran in the same amount whether the session was active or suspended. No reduction of time or CPU usage. The 2nd script took much longer and CPU was reduced significantly while the session was suspended.
A few questions:
for X2GO_NXOPTIONS="sleep=0", what does 0 represent in time. If I set the value to 1000, what would that mean?
This defines how long nxagent should sleep. The unit should be microseconds but there's a ticket for doublechecking that because it looks like a mixup happened during implementation (https://github.com/ArcticaProject/nx-libs/issues/928).
Is the idle-nice-level=19 for suspended sessions the default setting?
As I said I don't know the superreniver feature in detail.
Would the supernicer setting override the x2goagent sleep option setting?
no, they are two different things.
What would be an example command for the -irlimit option in x2goagent.options file.
see https://github.com/ArcticaProject/nx-libs/issues/796
Uli
x2go-user mailing list x2go-user@lists.x2go.org https://lists.x2go.org/listinfo/x2go-user
I did some quick benchmarks by rotating a simple 3D model with and without benchmarks, see script at the end. Transparency is turned off by setting alpha = 1.
Baseline: Without transparency: 71±11 ms per frame With transparency: 781±112 ms per frame
Using export _JAVA_OPTIONS=-Dsun.java2d.xrender=true: Without transparency: 69±12 ms per frame With transparency: 771±110 ms per frame
So within the measurement variance.
function matlab_graphics_perf_test
Nang = 50; azvec = linspace(-180, 180, Nang) + 45; el = 27;
figure(9)
[x,y,z] = peaks; alpha = 0.5; surf(x,y,z, 'FaceAlpha', alpha) axis vis3d
Tvec = zeros(size(azvec));
for azloop = 1:length(azvec) tic view([azvec(azloop) el]) drawnow Tvec(azloop) = toc; end
fprintf('Average frame time: %g ± %g s\n', mean(Tvec), std(Tvec));
end
— Johannes Töger
Associate Senior Lecturer Cardiac MR Group Department of Clinical Sciences Lund, Clinical Physiology Lund University, Sweden
-----Original Message----- From: Ulrich Sibiller <uli42@gmx.de> Sent: Tuesday, June 2, 2020 11:04 To: Johannes Töger <johannes.toger@med.lu.se> Cc: h i <qpile117@outlook.com>; x2go-user@lists.x2go.org Subject: Re: [X2Go-User] Suspending sessions causes performance slowing down
Usually you can instruct java to use xrender by calling java with "-Dsun.java2d.xrender=true" or run "export _JAVA_OPTIONS=-Dsun.java2d.xrender=true" prior to starting the java application. You can also configure that globally: https://serverfault.com/questions/270924/setting-java-runtime-setting-for-al...
This generally should reduce the number of pixmap related calls. But I don't know if it will have any effect on jogl.
Uli
On Tue, Jun 2, 2020 at 10:47 AM Johannes Töger <johannes.toger@med.lu.se> wrote:
I can answer about the GUI toolkit. I was debugging MATLAB performance issues last week so I looked into this.
Matlab uses the jobamp/jogl framework. https://jogamp.org/jogl/www/
In my Ubuntu/x2go/MATE setup, it falls back on a "software OpenGL" mode, which actually looks like MESA/Gallium software rendering:
In Matlab:
opengl info Version: '2.1 Mesa 17.1.3' Vendor: 'Brian Paul' Renderer: 'Mesa X11' MaxTextureSize: 16384 Visual: 'Visual 0x61, (RGBA 32 bits (8 8 8 8), Z depth 16 bits, Hardware acceleration, Double buffer, Antialias 0 samples)' Software: 'true' HardwareSupportLevel: 'none (known graphics driver issues)' SupportsGraphicsSmoothing: 0 SupportsDepthPeelTransparency: 1 SupportsAlignVertexCenters: 0 Extensions: {152×1 cell} MaxFrameBufferSize: 16384
johannes@compute-2:/usr/local/MATLAB/R2019a/sys/opengl/lib/glnxa64$ ls -1 C11ThreadEmulationLibraryLicense.rights EXTHeaderLicense.rights GalliumCodeLicense.rights GLXClientCodeLicense.rights libGL.so.1 libGL.so.1.6.0 libGLU.rights libGLU.so.1 libGLU.so.1.3.1 MesaDeviceDriversLicense.rights MesaLicense.rights
— Johannes Töger
Associate Senior Lecturer Cardiac MR Group Department of Clinical Sciences Lund, Clinical Physiology Lund University, Sweden
-----Original Message----- From: x2go-user <x2go-user-bounces@lists.x2go.org> On Behalf Of Ulrich Sibiller Sent: Tuesday, June 2, 2020 09:15 To: h i <qpile117@outlook.com> Cc: x2go-user@lists.x2go.org Subject: Re: [X2Go-User] Suspending sessions causes performance slowing down
On Tue, Jun 2, 2020 at 3:04 AM h i <qpile117@outlook.com> wrote:
I ran a few tests and see the issue is GUI related in our case. It seems to speak to the 2nd reason for sleep you described regarding the sending of pixmaps.
I ran two MATLAB scripts. Both including the same steps. However, 1 script suppressed pop-windows tracking the script status. The 2nd script did not suppress the pop-up windows displaying
What gui toolkit is matlab using?
real-time status. The 1st script involving command lines ran in the same amount whether the session was active or suspended. No reduction of time or CPU usage. The 2nd script took much longer and CPU was reduced significantly while the session was suspended.
A few questions:
for X2GO_NXOPTIONS="sleep=0", what does 0 represent in time. If I set the value to 1000, what would that mean?
This defines how long nxagent should sleep. The unit should be microseconds but there's a ticket for doublechecking that because it looks like a mixup happened during implementation (https://github.com/ArcticaProject/nx-libs/issues/928).
Is the idle-nice-level=19 for suspended sessions the default setting?
As I said I don't know the superreniver feature in detail.
Would the supernicer setting override the x2goagent sleep option setting?
no, they are two different things.
What would be an example command for the -irlimit option in x2goagent.options file.
see https://github.com/ArcticaProject/nx-libs/issues/796
Uli
x2go-user mailing list x2go-user@lists.x2go.org https://lists.x2go.org/listinfo/x2go-user
Should be "with and without transparency"...
— Johannes Töger
Associate Senior Lecturer Cardiac MR Group Department of Clinical Sciences Lund, Clinical Physiology Lund University, Sweden
-----Original Message----- From: x2go-user <x2go-user-bounces@lists.x2go.org> On Behalf Of Johannes Töger Sent: Tuesday, June 2, 2020 11:58 To: Ulrich Sibiller <uli42@gmx.de> Cc: x2go-user@lists.x2go.org Subject: Re: [X2Go-User] Suspending sessions causes performance slowing down
I did some quick benchmarks by rotating a simple 3D model with and without benchmarks, see script at the end. Transparency is turned off by setting alpha = 1.
Baseline: Without transparency: 71±11 ms per frame With transparency: 781±112 ms per frame
Using export _JAVA_OPTIONS=-Dsun.java2d.xrender=true: Without transparency: 69±12 ms per frame With transparency: 771±110 ms per frame
So within the measurement variance.
function matlab_graphics_perf_test
Nang = 50; azvec = linspace(-180, 180, Nang) + 45; el = 27;
figure(9)
[x,y,z] = peaks; alpha = 0.5; surf(x,y,z, 'FaceAlpha', alpha) axis vis3d
Tvec = zeros(size(azvec));
for azloop = 1:length(azvec) tic view([azvec(azloop) el]) drawnow Tvec(azloop) = toc; end
fprintf('Average frame time: %g ± %g s\n', mean(Tvec), std(Tvec));
end
— Johannes Töger
Associate Senior Lecturer Cardiac MR Group Department of Clinical Sciences Lund, Clinical Physiology Lund University, Sweden
-----Original Message----- From: Ulrich Sibiller <uli42@gmx.de> Sent: Tuesday, June 2, 2020 11:04 To: Johannes Töger <johannes.toger@med.lu.se> Cc: h i <qpile117@outlook.com>; x2go-user@lists.x2go.org Subject: Re: [X2Go-User] Suspending sessions causes performance slowing down
Usually you can instruct java to use xrender by calling java with "-Dsun.java2d.xrender=true" or run "export _JAVA_OPTIONS=-Dsun.java2d.xrender=true" prior to starting the java application. You can also configure that globally: https://serverfault.com/questions/270924/setting-java-runtime-setting-for-al...
This generally should reduce the number of pixmap related calls. But I don't know if it will have any effect on jogl.
Uli
On Tue, Jun 2, 2020 at 10:47 AM Johannes Töger <johannes.toger@med.lu.se> wrote:
I can answer about the GUI toolkit. I was debugging MATLAB performance issues last week so I looked into this.
Matlab uses the jobamp/jogl framework. https://jogamp.org/jogl/www/
In my Ubuntu/x2go/MATE setup, it falls back on a "software OpenGL" mode, which actually looks like MESA/Gallium software rendering:
In Matlab:
opengl info Version: '2.1 Mesa 17.1.3' Vendor: 'Brian Paul' Renderer: 'Mesa X11' MaxTextureSize: 16384 Visual: 'Visual 0x61, (RGBA 32 bits (8 8 8 8), Z depth 16 bits, Hardware acceleration, Double buffer, Antialias 0 samples)' Software: 'true' HardwareSupportLevel: 'none (known graphics driver issues)' SupportsGraphicsSmoothing: 0 SupportsDepthPeelTransparency: 1 SupportsAlignVertexCenters: 0 Extensions: {152×1 cell} MaxFrameBufferSize: 16384
johannes@compute-2:/usr/local/MATLAB/R2019a/sys/opengl/lib/glnxa64$ ls -1 C11ThreadEmulationLibraryLicense.rights EXTHeaderLicense.rights GalliumCodeLicense.rights GLXClientCodeLicense.rights libGL.so.1 libGL.so.1.6.0 libGLU.rights libGLU.so.1 libGLU.so.1.3.1 MesaDeviceDriversLicense.rights MesaLicense.rights
— Johannes Töger
Associate Senior Lecturer Cardiac MR Group Department of Clinical Sciences Lund, Clinical Physiology Lund University, Sweden
-----Original Message----- From: x2go-user <x2go-user-bounces@lists.x2go.org> On Behalf Of Ulrich Sibiller Sent: Tuesday, June 2, 2020 09:15 To: h i <qpile117@outlook.com> Cc: x2go-user@lists.x2go.org Subject: Re: [X2Go-User] Suspending sessions causes performance slowing down
On Tue, Jun 2, 2020 at 3:04 AM h i <qpile117@outlook.com> wrote:
I ran a few tests and see the issue is GUI related in our case. It seems to speak to the 2nd reason for sleep you described regarding the sending of pixmaps.
I ran two MATLAB scripts. Both including the same steps. However, 1 script suppressed pop-windows tracking the script status. The 2nd script did not suppress the pop-up windows displaying
What gui toolkit is matlab using?
real-time status. The 1st script involving command lines ran in the same amount whether the session was active or suspended. No reduction of time or CPU usage. The 2nd script took much longer and CPU was reduced significantly while the session was suspended.
A few questions:
for X2GO_NXOPTIONS="sleep=0", what does 0 represent in time. If I set the value to 1000, what would that mean?
This defines how long nxagent should sleep. The unit should be microseconds but there's a ticket for doublechecking that because it looks like a mixup happened during implementation (https://github.com/ArcticaProject/nx-libs/issues/928).
Is the idle-nice-level=19 for suspended sessions the default setting?
As I said I don't know the superreniver feature in detail.
Would the supernicer setting override the x2goagent sleep option setting?
no, they are two different things.
What would be an example command for the -irlimit option in x2goagent.options file.
see https://github.com/ArcticaProject/nx-libs/issues/796
Uli
x2go-user mailing list x2go-user@lists.x2go.org https://lists.x2go.org/listinfo/x2go-user
x2go-user mailing list x2go-user@lists.x2go.org https://lists.x2go.org/listinfo/x2go-user
Ok, so jogl does not use java2d. As I expected...
Uli
On Tue, Jun 2, 2020 at 12:00 PM Johannes Töger <johannes.toger@med.lu.se> wrote:
Should be "with and without transparency"...
— Johannes Töger
Associate Senior Lecturer Cardiac MR Group Department of Clinical Sciences Lund, Clinical Physiology Lund University, Sweden
-----Original Message----- From: x2go-user <x2go-user-bounces@lists.x2go.org> On Behalf Of Johannes Töger Sent: Tuesday, June 2, 2020 11:58 To: Ulrich Sibiller <uli42@gmx.de> Cc: x2go-user@lists.x2go.org Subject: Re: [X2Go-User] Suspending sessions causes performance slowing down
I did some quick benchmarks by rotating a simple 3D model with and without benchmarks, see script at the end. Transparency is turned off by setting alpha = 1.
Baseline: Without transparency: 71±11 ms per frame With transparency: 781±112 ms per frame
Using export _JAVA_OPTIONS=-Dsun.java2d.xrender=true: Without transparency: 69±12 ms per frame With transparency: 771±110 ms per frame
So within the measurement variance.
function matlab_graphics_perf_test
Nang = 50; azvec = linspace(-180, 180, Nang) + 45; el = 27;
figure(9)
[x,y,z] = peaks; alpha = 0.5; surf(x,y,z, 'FaceAlpha', alpha) axis vis3d
Tvec = zeros(size(azvec));
for azloop = 1:length(azvec) tic view([azvec(azloop) el]) drawnow Tvec(azloop) = toc; end
fprintf('Average frame time: %g ± %g s\n', mean(Tvec), std(Tvec));
end
— Johannes Töger
Associate Senior Lecturer Cardiac MR Group Department of Clinical Sciences Lund, Clinical Physiology Lund University, Sweden
-----Original Message----- From: Ulrich Sibiller <uli42@gmx.de> Sent: Tuesday, June 2, 2020 11:04 To: Johannes Töger <johannes.toger@med.lu.se> Cc: h i <qpile117@outlook.com>; x2go-user@lists.x2go.org Subject: Re: [X2Go-User] Suspending sessions causes performance slowing down
Usually you can instruct java to use xrender by calling java with "-Dsun.java2d.xrender=true" or run "export _JAVA_OPTIONS=-Dsun.java2d.xrender=true" prior to starting the java application. You can also configure that globally: https://serverfault.com/questions/270924/setting-java-runtime-setting-for-al...
This generally should reduce the number of pixmap related calls. But I don't know if it will have any effect on jogl.
Uli
On Tue, Jun 2, 2020 at 10:47 AM Johannes Töger <johannes.toger@med.lu.se> wrote:
I can answer about the GUI toolkit. I was debugging MATLAB performance issues last week so I looked into this.
Matlab uses the jobamp/jogl framework. https://jogamp.org/jogl/www/
In my Ubuntu/x2go/MATE setup, it falls back on a "software OpenGL" mode, which actually looks like MESA/Gallium software rendering:
In Matlab:
opengl info Version: '2.1 Mesa 17.1.3' Vendor: 'Brian Paul' Renderer: 'Mesa X11' MaxTextureSize: 16384 Visual: 'Visual 0x61, (RGBA 32 bits (8 8 8 8), Z depth 16 bits, Hardware acceleration, Double buffer, Antialias 0 samples)' Software: 'true' HardwareSupportLevel: 'none (known graphics driver issues)' SupportsGraphicsSmoothing: 0 SupportsDepthPeelTransparency: 1 SupportsAlignVertexCenters: 0 Extensions: {152×1 cell} MaxFrameBufferSize: 16384
johannes@compute-2:/usr/local/MATLAB/R2019a/sys/opengl/lib/glnxa64$ ls -1 C11ThreadEmulationLibraryLicense.rights EXTHeaderLicense.rights GalliumCodeLicense.rights GLXClientCodeLicense.rights libGL.so.1 libGL.so.1.6.0 libGLU.rights libGLU.so.1 libGLU.so.1.3.1 MesaDeviceDriversLicense.rights MesaLicense.rights
— Johannes Töger
Associate Senior Lecturer Cardiac MR Group Department of Clinical Sciences Lund, Clinical Physiology Lund University, Sweden
-----Original Message----- From: x2go-user <x2go-user-bounces@lists.x2go.org> On Behalf Of Ulrich Sibiller Sent: Tuesday, June 2, 2020 09:15 To: h i <qpile117@outlook.com> Cc: x2go-user@lists.x2go.org Subject: Re: [X2Go-User] Suspending sessions causes performance slowing down
On Tue, Jun 2, 2020 at 3:04 AM h i <qpile117@outlook.com> wrote:
I ran a few tests and see the issue is GUI related in our case. It seems to speak to the 2nd reason for sleep you described regarding the sending of pixmaps.
I ran two MATLAB scripts. Both including the same steps. However, 1 script suppressed pop-windows tracking the script status. The 2nd script did not suppress the pop-up windows displaying
What gui toolkit is matlab using?
real-time status. The 1st script involving command lines ran in the same amount whether the session was active or suspended. No reduction of time or CPU usage. The 2nd script took much longer and CPU was reduced significantly while the session was suspended.
A few questions:
for X2GO_NXOPTIONS="sleep=0", what does 0 represent in time. If I set the value to 1000, what would that mean?
This defines how long nxagent should sleep. The unit should be microseconds but there's a ticket for doublechecking that because it looks like a mixup happened during implementation (https://github.com/ArcticaProject/nx-libs/issues/928).
Is the idle-nice-level=19 for suspended sessions the default setting?
As I said I don't know the superreniver feature in detail.
Would the supernicer setting override the x2goagent sleep option setting?
no, they are two different things.
What would be an example command for the -irlimit option in x2goagent.options file.
see https://github.com/ArcticaProject/nx-libs/issues/796
Uli
x2go-user mailing list x2go-user@lists.x2go.org https://lists.x2go.org/listinfo/x2go-user
x2go-user mailing list x2go-user@lists.x2go.org https://lists.x2go.org/listinfo/x2go-user
Hello,
We added the sleep=0 option in the /etc/x2go/x2goagent.options file.
X2GO_NXOPTIONS="sleep=0"
In the /etc/x2go/x2goserver.conf file, we enabled the superenicer,i.e., changed enable=no to enable=yes.
[superenicer] # enable the SupeReNicer code in x2gocleansessions, this will renice suspended s essions to nice level 19 # and renice them to level 0 if the session becomes marked as running again... enable=yes
and removed the comment from idle-nice-level and kept the value of 19
# the idle nice level (for suspended sessions) idle-nice-level=19
Then we rebooted our system. With these changed settings we were able to see comparable processing speeds and CPU usage for active vs suspended sessions. This was our desire because many times we have to run processes overnight or over the course of several days while the session is suspended.
h
From: Ulrich Sibiller <uli42@gmx.de> Sent: Tuesday, June 2, 2020 3:14 AM To: h i <qpile117@outlook.com> Cc: x2go-user@lists.x2go.org <x2go-user@lists.x2go.org> Subject: Re: [X2Go-User] Suspending sessions causes performance slowing down
On Tue, Jun 2, 2020 at 3:04 AM h i <qpile117@outlook.com> wrote:
I ran a few tests and see the issue is GUI related in our case. It seems to speak to the 2nd reason for sleep you described regarding the sending of pixmaps.
I ran two MATLAB scripts. Both including the same steps. However, 1 script suppressed pop-windows tracking the script status. The 2nd script did not suppress the pop-up windows displaying
What gui toolkit is matlab using?
real-time status. The 1st script involving command lines ran in the same amount whether the session was active or suspended. No reduction of time or CPU usage. The 2nd script took much longer and CPU was reduced significantly while the session was suspended.
A few questions:
for X2GO_NXOPTIONS="sleep=0", what does 0 represent in time. If I set the value to 1000, what would that mean?
This defines how long nxagent should sleep. The unit should be microseconds but there's a ticket for doublechecking that because it looks like a mixup happened during implementation (https://github.com/ArcticaProject/nx-libs/issues/928).
Is the idle-nice-level=19 for suspended sessions the default setting?
As I said I don't know the superreniver feature in detail.
Would the supernicer setting override the x2goagent sleep option setting?
no, they are two different things.
What would be an example command for the -irlimit option in x2goagent.options file.
see https://github.com/ArcticaProject/nx-libs/issues/796
Uli