Currently the location of diagnostic data dumps etc is determined by an environment variable SADIAGDIR. This applies to all engines running on the server - unlike TEMPDIR etc there is no option to set it in the db engine startup parameters. This is a pain for two reasons if you run multiple servers:
This is particularly problematic when one is trying to save full cache dumps and lots of RAM (eg 100GB + ) is in use! Ideally, one could set a SADIAGDIR setting per d engine in the start-up parameters which would override anything else just like the temporary folder settings do). asked 15 Jul '13, 11:17 Justin Willey |
Perhaps I am not understanding the problem - Why can't you set the environment variable SADIAGDIR to different values before you start each server? i.e. just before spawning the server set the variable. E.g. (syntax will vary depending on shell being used) set SADIAGDIR=/path/to/location/1 dbspawn dbsrv16 -n server1 foo.db set SADIAGDIR=/a/different/path/2 dbspawn dbsrv16 -n server 2 bar.db Server1 will dump data into /path/to/location/1 and server2 will dump data into /a/different/path/2 answered 15 Jul '13, 12:06 Mark Culp Do you mean that each instance uses the value of SADIAGDIR that was current when it was started, ignoring any later changes?
(15 Jul '13, 12:23)
Justin Willey
Replies hidden
Yes. By design, a process uses its own "share of environment variables", i.e. when the process is started, he inherits those from the parent process (say, a shell), and further modifications of the parent's process environment do not influence the new process (and vice versa).
(15 Jul '13, 12:28)
Volker Barth
|