EVALUATION
Many performance problems in the field would be avoided or largely reduced
###@###.### 2004-11-24 18:41:12 GMT
The default value for the GC interval should be increased for Mustang.
###@###.### 2004-12-01 16:30:01 GMT
[These system properties control local GC intervals for the purpose of assisting distributed GC (i.e. GC of exported remote objects).]
Regarding "harm to applications", for the record, increasing the default value of the sun.rmi.dgc.client.gcInterval system property could adversely impact the timeliness of local unreachability (and thus local garbage collection) of a remote object-- in the worst case, causing an OutOfMemoryError in the remote object's VM-- as well as the timeliness of java.rmi.server.Unreferenced notifications. This adverse impact would not necessarily occur, or even be likely to occur; it depends highly on the nature of the application, including what client-side GC would otherwise occur. (The "harm" of increasing the default value of the sun.rmi.dgc.server.gcInterval is less compelling.)
That said, the described harm of the current low default values, given the current implementation (executing stop-the-world full GCs), is well appreciated-- see 4403367-- and seems like sufficient justification for increasing the default values. More extensive external documentation regarding the precise effects of these system property settings would also be helpful.
[Note that RFE 5025281 provides a way to amelioriate the problem by providing a VM option to make full GCs execute concurrently rather than as stop-the-world. Also, the most hoped-for solution would be RFE 4665536, which would allow more sophisticated interaction with the local GC than just being able to request a maximum interval between full GCs.]
###@###.### 2004-12-02 01:50:25 GMT
|