To calculate your basis for SHMVIRTSIZE look at the output of the "onstat -g seg" after the instance has been running and it's gone through multiple extents. Add up the "size" all the segements marked class "V". That, plus a safety net, say 10% should be SHMVIRTSIZE. SHMADD I set at 25% of SHMVIRTSIZE. Remember, the display of "onstat -g seg" is in byte, the value in onconfig is in kbytes.
If you see additional segments in the logs, do the calculation again.
It's important to control this. In some operating systems expanding to 10 segememts or more used to assert fault the instance.
As to suggested size, your milage may vary. For one of my 32bit (9.2) instances supporting 350 connections my SHMVIRTSIZE is 327680. That value doubles to support the same number of users in 64bit.
If you truely have all those idel connections you need to look at getting rid of them. For one thing, someone is writting some REALY poor Java code.