So I am looking at a heap with jmap on a remote box and I want to force garbage collection on it. How do you do this without popping into jvisualvm or jconsole and friends?<
I don't think there is any command line option for same.
You will need to use jvisualvm/jconsole for same.
I would rather suggest you to use these tools to identity , why your program is high on memory.
Anyways you shouldn't force GC, as it would certainly disturb GC algorithm and make your program slow.