Limbic~Region, thanks for your more considered reply, and I'm sorry that I partially misunderstood your situation. But I do have some insight into your problem, as we too have a number of other people's Java processes running. In our case, however, we control every aspect of the startup of a customer's code, including the JVM arguments. So we already know what heap size is being used, for example. We are also able to use Unix usernames with enough granularity to identify processes, perhaps in combination with some other piece of data: the PID or part of the command line, with complete certainty. We also always wrap vendor products' code with our own scripts.
Of course, I can't tell whether any of the above can be applied to your situation, but I wish you luck in resolving it.