When I am trying to start dynatrace server, not starting & when checked the logs, I see below exception in Server.0.0.log. The server has 32 GB of Memory & I am running 2 dynatrace servers in the box.
dynaTrace Server NOT started successfully: com.dynatrace.diagnostics.server.ServerBundleActivator start:634
java.lang.OutOfMemoryError: unable to create new native thread
How do you configured XMS and XMX parameters for collector? Using embedded collector is not recommended on other usage than poc/test.
If you have 16gb of ram (for example) on host and you have configured dt to use it all (via GUI) it can be not enough free memory for collector which needs by default 2gb as I remember.
The same situation is for main question of author of this thread. Using two instances of appmon server on the same host is risky. Even if you will pick sizing in dt with amount of memory, dt can allocate more than this. This is optimization when there is more resources than configured (sizing is based on huge steps so it can be situation than you are missing 2gb of ram and because of this you cannot use bigger sizing)
Because of this dt servers working parallel can exhaust memory