| ID |
Date |
Author |
Topic |
Subject |
|
3183
|
11 Dec 2025 |
Konstantin Olchanski | Bug Report | manalyzer fails to compile on some systems because of missing #include <cmath> | > TFile.h -> TDirectoryFile.h -> TDirectory.h -> TNamed.h -> TString.h -> TMathBase.h -> cmath -> math.h
reading ROOT release notes, 6.38 removed TMathBase.h from TString.h, with a warning "This change may cause errors during compilation of
ROOT-based code". Upright citizens, nice guys!
> Thanks. Are you happy for me to update the submodule commit in Midas to use this fix? I should have sufficient permission if you agree.
I am doing some last minute tests, will pull it into midas and rootana later today.
K.O. |
|
3185
|
12 Dec 2025 |
Konstantin Olchanski | Bug Report | odbxx memory leak with JSON ODB dump | > > Confirmed fixed, thanks! There are 2 small changes I made in odbxx.h, please pull.
> There was one missing enable_jsroot in manalyzer, please pull yourself.
pulled, pushed to rootana, thanks for fixing it!
K.O. |
|
3200
|
05 Feb 2026 |
Konstantin Olchanski | Bug Report | omnibus bugs from running DarkLight | We finished running the DarkLight experiment and I am reporting accumulated bugs that we have run into.
1) history plots on 12 hrs, 24 hrs tend to hang with "page not responsive". most plots have 16-20 variables,
which are recorded at 1/sec interval. (yes, we must see all the variables at the same time and yes, we want to
record them with fine granularity).
2) starting runs gets into a funny mode if a GEM frontend aborts (hardware problems), transition page reports
"wwrrr, timeout 0", and stays stuck forever, "cancel transition" does nothing. observe it goes from "w"
(waiting) to "r" (RPC running) without a "c" (connecting...) and timeout should never be zero (120 sec in
ODB).
3) ODB editor clicking on hex number versus decimal number no longer allows editing in hex, Stefan implemented
this useful feature and it worked for a while, but now seems broken.
4) ODB editor "right click" to "delete" or "rename" key does not work, the right-click menu disappears
immediately before I can use it (dl-server-2), click on item (it is now blue), right-click menu disappears
before I can use it (daq17). it looks like a timing or race condition.
5) ODB editor "create link" link target name is limited to 32 bytes, links cannot be created (dl-server-2), ok
on daq17 with current MIDAS.
6) MIDAS on dl-server-2 is "installed" in such a way that there is no connection to the git repository, no way
to tell what git checkout it corresponds to. Help page just says "branch master", git-revision.h is empty. We
should discourage such use of MIDAS and promote our "normal way" where for all MIDAS binary programs we know
what source code and what git commit was used to build them.
6a) MIDAS on dl-server-2 had a pretty much non-functional history display, I reported it here, Stefan provided
a fix, I manually retrofitted it into dl-server-2 MIDAS and we were able to run the experiment. (good)
6b) bug (5) suggests that there is more bugs being introduced and fixed without any notice to other midas
users (via this forum or via the bitbucket bug tracker).
K.O. |
|
3208
|
16 Apr 2026 |
Konstantin Olchanski | Forum | Migrate Legacy code to current Midas version | > I am migrating the full CRIPT muon tomography detector from MIDAS (SVN Rev.
> 5238, circa 2012) to a more modern release.
> The current system runs on Scientific Linux 6 and very old hardware.
Right, good vintage midas and linux. But in the current security environment,
we must run currently supported OS (and MIDAS), and we must never fall off
the yearly/bi-yearly OS upgrade threadmill.
How old is your computer hardware and do you plan to update it, as well? If you OS
is installed on an HDD, definitely move to an SSD would be good. If you are hard
on money, a RaspberryPi5 with 16GB RAM may be good enough for what you have.
Anyhow new OS choice would be Ubuntu 24 or Debian 13. I do not recommend Red Hat based OS (vanilla
RHEL, Fedora, Alma, Rocky), they have become niche OSes with minimal vendor and community support.
> Due to substantial changes in the MIDAS codebase over the years ...
The big change in MIDAS land is move to c++, then c++11, then to c++17, and move from vanilla make to
cmake.
MIDAS API has been reasonably stable since then, but very old MIDAS frontends would fail to build with
latest compilers because of changes in c++ language and changes in the c and c++ libraries.
> I have encountered multiple compatibility issues during the migration. I have also attempted to
build and run the legacy MIDAS version and the front-end code using GCC 4.8 on a modern Linux system
(Ubuntu 24.04), but without success.
this is non-viable, latest C/C++ compilers reject perfectly good SL6-era C/C++ code, old MIDAS would
not compile, old frontends would not compile.
> Could you please advise on the recommended approach ...
What you are doing, we have done several times with TRIUMF experiments,
updating SL6 and CentOS-7 MIDAS instances to current MIDAS, C++ and OS:
1) new computer with Ubuntu 24 (or Debian or Raspbian). (U-26 will come out roughly in August, fo rth
epurposes of this discussion).
2) new MIDAS. we generally recommend the head of the develop branch, but older tagged version are
okey, too.
3) apache https proxy, etc, for secure browser connections, see
https://daq00.triumf.ca/DaqWiki/index.php/Ubuntu#Install_apache_httpd_proxy_for_midas_and_elog
4) reload your old ODB into the new MIDAS
5) your old history, etc should work
6a) build your old frontends, this will be a chore, but if you look at the compile errors, you will
see that most changes are very mechanical (i.e. const char*, etc). biggest hassle is ot make your old
C/C++ code to build with current C++17 compiler, smaller hassle is to update for minor changes in the
mfe.h API.
6b) bite the bullet and rewrite your frontends using the C++ tmfe API, start with
tmfe_example_everything.cxx, remove unnecessary, add required, pretty straightforward, I can guide you
through this (contact me directly by email).
7) minor tweeks to mlogger, mhttpd and history settings
8) rewrite all customs pages to the current mjsonrpc API
Best of luck, if you have more questions, please ask here or by direct email.
K.O. |
|
3209
|
16 Apr 2026 |
Konstantin Olchanski | Suggestion | mhttpd user permissions | We had our periodic discussion on MIDAS web page user permissions. (I cannot
find the link to the previous discussions, ouch!)
Currently any logged in user can do anything - start stop runs, start/stop
programs, edit odb, etc.
Regularly, we have experiments that ask about "read-only" access to MIDAS and
about more granular user permissions.
In the past, I suggested a permissions scheme that is easy to implement
with the current code base. Permission level for each user can
be stored in ODB and allow:
level 0 - root user, as now
level 1 - experiment user, any restrictions are implemented in javascript, i.e.
all custom pages work as they do now, but (i.e.) the odb editor is read-only
level 2 - experiment operator, restrictions are implemented in the mjsonrpc
code, i.e. can start/stop runs, start/stop programs, but cannot make any
changes, i.e. cannot write to ODB
level 3 - read-only user - only mjsonrpc calls that do not change anything are
permitted.
(to implement level 2, obviously, the "start run" mjsonrpc call has to be
changed to accept the run comments, current code writes them to odb directly and
that would fail).
First step towards implementing this was made today. Ben and Derek figured out
the apache incantation to pass the logged user name to MIDAS and I added
decoding of this user name in mhttpd. I do not do anything with it, yet.
In apache config, one change is needed:
> For Apache, add this line in your VirtualHost section (tested as working):
> RequestHeader set X-Remote-User %{REMOTE_USER}s
https://daq00.triumf.ca/DaqWiki/index.php/Ubuntu#Install_apache_httpd_proxy_for_midas_and_elog
K.O. |
|
3212
|
24 Apr 2026 |
Konstantin Olchanski | Bug Report | increasing the max number of hot links in ODB | > when I attempted to increase the max number of hotlinks in ODB , defined as
> #define MAX_OPEN_RECORDS 256 /**< number of open DB records */
> assert(sizeof(DATABASE_CLIENT) == 2112);
Yes, it is intended to work like this. If you change MAX_OPEN_RECORDS (and some settings),
you break binary compatibility with standard MIDAS and the asserts inform you about it.
It is not a light step to take - you have to recompile all MIDAS clients, and if you miss
one and run it against your non-standard MIDAS, kaboom everything will go,
there is no safety net against this.
In the ALPHA experiment at CERN, for years we have been running with MAX_OPEN_RECORDS set to 2560,
and it works, you have to change both MAX_OPEN_RECORDS in midas.h and the expected values
in the assert() statements.
The new correct values you do not need to guess or compute yourself, the code to print
them is right there and it is easy to enable.
Replacing the numeric constants with computed values of course would completely defeat
the purpose of the tests - to catch the situation where by mistake or by ignorance
(or by miscompilation) sizes of critical data structures become different from those
normally expected.
K.O. |
|
3215
|
27 Apr 2026 |
Konstantin Olchanski | Bug Report | increasing the max number of hot links in ODB | > Indeed, updating MIDAS clients on each and every RPI etc in a running experiment may be a real challenge.
actually, only local clients must be rebuilt, remote clients connecting to the mserver do not care about ODB
internal structure.
> Thinking forward - would it help if the ODB clients, upon initial connection but before doing anything else
> were reading the ODB parameters from the ODB itself, so the clients were "learning" about the ODB structure
> dynamically, at run time? Or that knowledge has to be static ?
unfortunately, the "open records" structure is allocated at compile-time inside the ODB header,
making any change to this would break binary compatibility.
I think it is possible to allocate "space for additional open records" in the ODB data area
and have the ODB open records code use it in addition to the compile-time allocated
space in the database header. This would also work for extending MAX_CLIENTS.
Of course in this approach, old midas clients would see only the clients and open records
in the database header, new midas clients would see the additional data.
It is not super hard to add this code...
K.O. |
|
3216
|
27 Apr 2026 |
Konstantin Olchanski | Bug Report | increasing the max number of hot links in ODB | > I wonder why one needs more than 256 hotlinks at all.
I confirm that ALPHA is running with MAX_OPEN_RECORDS changed from 256 to 2048,
this is the only experiment I know of that had to increase any MIDAS ODB defaults.
The reason for this is mlogger, it opens an open record for each variable in each equipment.
This should be changed to 1 db_watch per equipment. We talked about it, but I guess we never did it.
I think this task just went almost to the top of my MIDAS to-do list.
K.O. |
|
3223
|
21 May 2026 |
Konstantin Olchanski | Info | manalyzer --save-odb | Due my oversight, the code for extracting ODB dumps from MIDAS data files from rootana/old_analyzer/event_dump.cxx was missing in
manalyzer.cxx.
This is now corrected, the new manalyzer command line flag is "--save-odb", to use it:
daq00:manalyzer$ ./manalyzer_test.exe --save-odb ~/git/midas/testexpt/run00002.mid.lz4
...
Saving begin of run ODB dump for run 2 from "/home/olchansk/git/midas/testexpt/run00002.mid.lz4" to "run2bor.json"
...
Saving end of run ODB dump for run 2 from "/home/olchansk/git/midas/testexpt/run00002.mid.lz4" to "run2eor.json"
...
manalyzer commit f4cbcb7426083edc9f74298965c90a3a91f461ab
K.O. |
|
3224
|
21 May 2026 |
Konstantin Olchanski | Bug Report | incompatible ODB XML dumps | While testing manalyzer, I found that it dies from an exception on odbxx, error message is "/home/olchansk/packages/midas/include/odbxx.h:1231: No "handle"
attribute found in XML data".
Indeed, my data file is very old and it's XML ODB dump does not have the "handle" attribute:
daq00:midas$ more ~/git/midas/manalyzer/run9402bor.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- created by MXML on Tue Aug 11 14:47:16 2020 -->
<odb root="/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://midas.psi.ch/odb.xsd">
<dir name="Experiment">
<key name="ODB timeout" type="INT32">10000</key>
While current MIDAS XML ODB dumps have it:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- created by MXML on Thu May 21 20:37:06 2026 -->
<odb root="/" filename="odb.xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="/home/olchansk/packages/midas/odb.xsd">
<dir name="System" handle="135320">
<dir name="Flush" handle="135408">
<key name="Flush period" type="UINT32" handle="135496">60</key>
And odbxx requires this attribute unconditionally:
if (mxml_get_attribute(node, "handle") == nullptr)
mthrow("No \"handle\" attribute found in XML data");
o->set_hkey(std::stoi(std::string(mxml_get_attribute(node, "handle"))));
The "handle" attribute was added to XML ODB dumps in September 2024 (not sure to what purpose, JSON ODB dumps do not have a "handle" attribute):
git blame src/odb.cxx
...
dd23558fbd src/odb.cxx (Stefan Ritt 2024-09-20 15:30:00 +0200 9387) mxml_write_attribute(writer, "handle", std::to_string(hKey).c_str());
This change makes MIDAS data files written before this date un-analyzable (unless odbxx is turned off).
I can prevent manalyzer from crashing by catching the exception, but I think it is better if odbxx code is updated to accept the pre-Sep-2024 ODB XML data
format (which were valid XML ODB dumps when they were made and users are stuck with them inside compress binary MIDAS data files).
P.S. also please check the odbxx code for other crashes on malformed XML ODB dumps, it should complain, fail to load the dump, but not core dump or abort.
Malformed ODB dumps is not a theoretical situation, I am currently looking at MIDAS data files (mid.lz4) that have invalid JSON ODB dumps created from
corrupted ODB. Luckily the JSON parser handles this gracefully, does not crash manalyzer and I can look at the data. I did have to go 10 runs into the past
to find an uncorrupted ODB dump to reload a good ODB. Fixes to the JSON encoder and fixes for corrupt ODB are in progress.
K.O. |
|
3234
|
25 Jun 2026 |
Konstantin Olchanski | Forum | midas forum elog updated | I updated the midas forum elog to the latest version from git: 083448f7
Also investigated elogd failure to start on reboot,
it turned out to be a crasher bug, see
https://elog.psi.ch/elogs/Forum/69919
K.O. |
|
3235
|
25 Jun 2026 |
Konstantin Olchanski | Bug Report | incompatible ODB XML dumps | > I fixed that by not requiring the handle explicitly ...
>
> [it was...] an uncaught exception. If you do not want the abort, catch the exception.
Hi, Stefan! Thank you for fixing this!
The issue was not the exception, but the failure to load the XML ODB dump from an (immutable) data file.
This should now be fixed (TBC), so all good now.
K.O. |
|
3236
|
25 Jun 2026 |
Konstantin Olchanski | Suggestion | Multithreaded deferred transitions | > Multithreaded transitions were introduced by KO in 2019. Please ask him to make deferred transitions work
> again or simply use non-multithreaded transitions.
Deferred transition is the bane of MIDAS, I personally can never understand how they work
and what they do, and I studied them and understood them many times now.
I recommend against using them. Maybe you can explain what you do and I can suggest a way
to avoid using the deferred transition.
Some other people use deferred transitions, and it works for them,
in conjunction with normal transitions, which have been multithreaded
for years.
So unlikely this is a new bug.
P.S. I do not remember any use of deferred transition in the T2K/ND280 FGD, TPC and GSC frontends,
maybe it is in some other subsystem or was introduced after my time.
K.O. |
|
1833
|
14 Feb 2020 |
Konrad Briggl | Forum | Writting Midas Events via FPGAs | Hello Stefan,
is there a difference for the later data processing (after writing the ring buffer blocks)
if we write single events or multiple in one rb_get_wp - memcopy - rb_increment_wp cycle?
Both Marius and me have seen some inconsistencies in the number of events produced that is reported in the status page when writing multiple events in one go,
so I was wondering if this is due to us treating the buffer badly or the way midas handles the events after that.
Given that we produce the full event in our (FPGA) domain, an option would be to always copy one event from the dma to the midas-system buffer in a loop.
The question is if there is a difference (for midas) between
[pseudo code, much simplified]
while(dma_read_index < last_dma_write_index){
if(rb_get_wp(pdata)!=SUCCESS){
dma_read_index+=event_size;
continue;
}
copy_n(dma_buffer, pdata, event_size);
rb_increment_wp(event_size);
dma_read_index+=event_size;
}
and
while(dma_read_index < last_dma_write_index){
if(rb_get_wp(pdata)!=SUCCESS){
...
};
total_size=max_n_events_that_fit_in_rb_block();
copy_n(dma_buffer, pdata, total_size);
rb_increment_wp(total_size);
dma_read_index+=total_size;
}
Cheers,
Konrad
> The rb_xxx function are (thoroughly tested!) robust against high data rate given that you use them as intended:
>
> 1) Once you create the ring buffer via rb_create(), specify the maximum event size (overall event size, not bank size!). Later there is no protection any more, so if you obtain pdata from rb_get_wp, you can of course write 4GB to pdata, overwriting everything in your memory, causing a total crash. It's your responsibility to not write more bytes into pdata then
> what you specified as max event size in rb_create()
>
> 2) Once you obtain a write pointer to the ring buffer via rb_get_wp, this function might fail when the receiving side reads data slower than the producing side, simply because the buffer is full. In that case the producing side has to wait until space is freed up in the buffer by the receiving side. If your call to rb_get_wp returns DB_TIMEOUT, it means that the
> function did not obtain enough free space for the next event. In that case you have to wait (like ss_sleep(10)) and try again, until you succeed. Only when rb_get_wp() returns DB_SUCCESS, you are allowed to write into pdata, up to the maximum event size specified in rb_create of course. I don't see this behaviour in your code. You would need something
> like
>
> do {
> status = rb_get_wp(rbh, (void **)&pdata, 10);
> if (status == DB_TIMEOUT)
> ss_sleep(10);
> } while (status == DB_TIMEOUT);
>
> Best,
> Stefan
>
>
> > Dear all,
> >
> > we creating Midas events directly inside a FPGA and send them off via DMA into the PC RAM. For reading out this RAM via Midas the FPGA sends as a pointer where it has written the last 4kB of data. We use this pointer for telling the ring buffer of midas where the new events are. The buffer looks something like:
> >
> > // event 1
> > dma_buf[0] = 0x00000001; // Trigger and Event ID
> > dma_buf[1] = 0x00000001; // Serial number
> > dma_buf[2] = TIME; // time
> > dma_buf[3] = 18*4-4*4; // event size
> > dma_buf[4] = 18*4-6*4; // all bank size
> > dma_buf[5] = 0x11; // flags
> > // bank 0
> > dma_buf[6] = 0x46454230; // bank name
> > dma_buf[7] = 0x6; // bank type TID_DWORD
> > dma_buf[8] = 0x3*4; // data size
> > dma_buf[9] = 0xAFFEAFFE; // data
> > dma_buf[10] = 0xAFFEAFFE; // data
> > dma_buf[11] = 0xAFFEAFFE; // data
> > // bank 1
> > dma_buf[12] = 0x1; // bank name
> > dma_buf[12] = 0x46454231; // bank name
> > dma_buf[13] = 0x6; // bank type TID_DWORD
> > dma_buf[14] = 0x3*4; // data size
> > dma_buf[15] = 0xAFFEAFFE; // data
> > dma_buf[16] = 0xAFFEAFFE; // data
> > dma_buf[17] = 0xAFFEAFFE; // data
> >
> > // event 2
> > .....
> >
> > dma_buf[fpga_pointer] = 0xXXXXXXXX;
> >
> >
> > And we do something like:
> >
> > while{true}
> > // obtain buffer space
> > status = rb_get_wp(rbh, (void **)&pdata, 10);
> > fpga_pointer = fpga.read_last_data_add();
> >
> > wlen = last_fpga_pointer - fpga_pointer; \\ in 32 bit words
> > copy_n(&dma_buf[last_fpga_pointer], wlen, pdata);
> > rb_status = rb_increment_wp(rbh, wlen * 4); \\ in byte
> >
> > last_fpga_pointer = fpga_pointer;
> >
> > Leaving the case out where the dma_buf wrap around this works fine for a small data rate. But if we increase the rate the fpga_pointer also increases really fast and wlen gets quite big. Actually it gets bigger then max_event_size which is checked in rb_increment_wp leading to an error.
> >
> > The problem now is that the event size is actually not to big but since we have multi events in the buffer which are read by midas in one step. So we think in this case the function rb_increment_wp is comparing actually the wrong thing. Also increasing the max_event_size does not help.
> >
> > Remark: dma_buf is volatile so memcpy is not possible here.
> >
> > Cheers,
> > Marius |
|
357
|
02 Mar 2007 |
Kevin Lynch | Forum | event builder scalability | > Hi there:
> I have a question if there's anybody out there running MIDAS with event builder
> that assembles events from more that just a few front ends (say on the order of
> 0x10 or more)?
> Any experiences with scalability?
>
> Cheers
> Piotr
Mulan (which you hopefully remember with great fondness :-) is currently running
around ten frontends, six of which produce data at any rate. If I'm remembering
correctly, the event builder handles about 30-40MB/s. You could probably ping Tim
Gorringe or his current postdoc Volodya Tishenko (tishenko@pa.uky.edu) if you want
more details. Volodya solved a significant number of throughput related
bottlenecks in the year leading up to our 2006 run. |
|
1225
|
15 Dec 2016 |
Kevin Giovanetti | Bug Report | midas.h error | creating a frontend on MAC Sierra OSX 10
include the midas.h file and when compiling with XCode I get an error based on
this entry in the midas.h include
#if !defined(OS_IRIX) && !defined(OS_VMS) && !defined(OS_MSDOS) &&
!defined(OS_UNIX) && !defined(OS_VXWORKS) && !defined(OS_WINNT)
#error MIDAS cannot be used on this operating system
#endif
Perhaps I should not use Xcode?
Perhaps I won't need Midas.h?
The MIDAS system is running on my MAC but I need to add a very simple front end
for testing and I encounted this error. |
|
1404
|
30 Oct 2018 |
Joseph McKenna | Bug Report | Side panel auto-expands when history page updates |
One can collapse the side panel when looking at history pages with the button in
the top left, great! We want to see many pages so screen real estate is important
The issue we face is that when the page refreshes, the side panel expands. Can
we make the panel state more 'sticky'?
Many thanks
Joseph (ALPHA)
Version: 2.1
Revision: Mon Mar 19 18:15:51 2018 -0700 - midas-2017-07-c-197-g61fbcd43-dirty
on branch feature/midas-2017-10 |
|
1406
|
31 Oct 2018 |
Joseph McKenna | Bug Report | Side panel auto-expands when history page updates | > >
> >
> > One can collapse the side panel when looking at history pages with the button in
> > the top left, great! We want to see many pages so screen real estate is important
> >
> > The issue we face is that when the page refreshes, the side panel expands. Can
> > we make the panel state more 'sticky'?
> >
> > Many thanks
> > Joseph (ALPHA)
> >
> > Version: 2.1
> > Revision: Mon Mar 19 18:15:51 2018 -0700 - midas-2017-07-c-197-g61fbcd43-dirty
> > on branch feature/midas-2017-10
>
> Hi Joseph,
>
> In principle a page refresh should now not be necessary, since pages should reload automatically
> the contents which changes. If a custom page needs a reload, it is not well designed. If necessary, I
> can explain the details.
>
> Anyhow I implemented your "stickyness" of the side panel in the last commit to the develop branch.
>
> Best regards,
> Stefan
Hi Stefan,
I apologise for miss using the word refresh. The re-appearing sidebar was also seen with the automatic
reload, I have implemented your fix here and it now works great!
Thank you very much!
Joseph |
|
Draft
|
14 Oct 2019 |
Joseph McKenna | Forum | tmfe.cxx - Future frontend design | Hi,
I have been looking at the 2019 workshop slides, I am interested in the C++ future of MIDAS.
I am quite interested in using the object oriented
ALPHA will start data taking in 2021 |
|
1727
|
18 Oct 2019 |
Joseph McKenna | Info | sysmon: New system monitor and performance logging frontend added to MIDAS |
I have written a system monitor tool for MIDAS, that has been merged in the develop branch today: sysmon
https://bitbucket.org/tmidas/midas/pull-requests/8/system-monitoring-a-new-frontend-to-log/diff
To use it, simply run the new program
sysmon
on any host that you want to monitor, no configuring required.
The program is a frontend for MIDAS, there is no need for configuration, as upon initialisation it builds a history display for you. Simply run one instance per machine you want to monitor. By default, it only logs once per 10 seconds.
The equipment name is derived from the hostname, so multiple instances can be run across multiple machines without conflict. A new history display will be created for each host.
sysmon uses the /proc pseudo-filesystem, so unfortunately only linux is supported. It does however work with multiple architectures, so x86 and ARM processors are supported.
If the build machine has NVIDIA drivers installed, there is an additional version of sysmon that gets built: sysmon-nvidia. This will log the GPU temperature and usage, as well as CPU, memory and swap. A host should only run either sysmon or sysmon-nvidia
elog:1727/1 shows the History Display generated by sysmon-nvidia. sysmon would only generate the first two displays (sysmon/localhost and sysmon/localhost-CPU) |
|