Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #35273
| From | Cecil Westerhof <Cecil@decebal.nl> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | gc is freeing and claiming memory |
| Date | 2016-08-12 15:56 +0200 |
| Organization | Decebal Computing |
| Message-ID | <87oa4yks54.fsf@Equus.decebal.nl> (permalink) |
Because I saw certain applications took a lot of residential memory
and swap space I am looking a bit into memory management. I have the
following code:
long freeMemory = rt.freeMemory() / divideValue;
long totalMemory = rt.totalMemory() / divideValue;
logMessage(String.format("Maximum to use %d",
rt.maxMemory() / divideValue));
logMessage(String.format("Before %d - %d = %d",
totalMemory, freeMemory,
totalMemory - freeMemory));
System.gc();
freeMemory = rt.freeMemory() / divideValue;
totalMemory = rt.totalMemory() / divideValue;
logMessage(String.format("After %d - %d = %d",
totalMemory, freeMemory,
totalMemory - freeMemory));
One of the outputs is:
15:33:03: Maximum to use 228
15:33:03: Before 142 - 80 = 62
15:33:03: After 146 - 93 = 53
So while on the one hand there is 9 MB of memory freed, but at the
same time there is another 4 MB reserved. (I have seen a bigger
difference, there was on the one hand 4 MB freed and at the same time
32 MB extra reserved. But I did not save that.)
What is happening here?
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
Back to comp.lang.java.programmer | Previous | Next — Next in thread | Find similar | Unroll thread
gc is freeing and claiming memory Cecil Westerhof <Cecil@decebal.nl> - 2016-08-12 15:56 +0200 Re: gc is freeing and claiming memory Florian Weimer <fw@deneb.enyo.de> - 2016-08-13 16:35 +0200
csiph-web