Hello, Florian
14.08.19 15:07, Florian Weimer пише:
Is there a way to reproduce your results easily? Upstream, we're
looking for workloads which are difficult to handle for glibc's malloc
and its default settings, so that we hopefully can improve things
eventually.
This way of the ready builds of the application and LiveDisks is
simplest one for me, than writing a test application with simulation
such sort complex load, so you can already install the application,
start and observer.
I meant: Is there a reproduction recipe someone could use, without being
familiar with the application?
Sure, and I have wrote such one in the first email, without specifying
the program.
About this program, it is OpenSCADA, which packages you may get here
http://oscada.org/en/main/download/ for the Work version and for Debian
versions from 7 to 10.
About installing, you may read this one
http://oscada.org/wiki/Special:MyLanguage/Documents/How_to/Install but
shortly, you need to install the package openscada-model-aglks, after
connection a Debian repository of this program.
$ wget http://ftp.oscada.org/Debian/10/openscada/openscada.list
$ cp openscada.list /etc/apt/sources.list.d
$ $ wget -O - http://ftp.oscada.org/Misc/pkgSignKey | sudo apt-key add -
$ apt-get update; apt-get install openscada-model-aglks
The package openscada-model-aglks is a ready configuration and data to
start and work since it is a simulator itself.
Next let's per the stages:
1. Start the program and set the initial state, fixing the memory
allocation — measuring the initial memory consumption value
> Just start the program from the desktop menu for the entry "Simulator
"AGLKS" on the open SCADA system" or by the command:
$ openscada_AGLKS
> Wait for about one minute to fix the memory consumption
> Open the page:
http://oscada.org/wiki/images/4/42/WebVision_wvis_cfg.png , where you
can control of the WEB-sessions opening and closing, so allocating and
freeing the memory — such sort of the iterations.
> Set the "Life time of the sessions" on the page to 1 minute instead
10, to decrease the waiting time
> In a Web-browser open the page "http://localhost:10002/WebVision",
this is the initial memory consumption value.
2. Perform the allocation-freeing iteration
2.1. Open the first Web-interface page from a Web-browser of the host system
> The first page is "http://localhost:10002/WebVision/prj_AGLKS"
2.2. Close the page on the Web-browser
2.3. Wait to close-freeing session of the first Web-interface page on
the program side, 1 minute — measuring the iteration memory consumption
value
3. Return to the stage 2 and repeating 5 iterations
But I think, the problem related in linking the areas to the threads,
and such sort of programs as OpenSCADA, in the Web-mode, recreate the
threads which then rebind to different arenas, why we have such sort of
memory leak into the arenas.
And it seems is a conceptual problem of the arenas in GLibC.
Regards, Roman