Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X
I have been monitoring the memory of our Windchill 10.1 Server the last few days. It is currently at 85% used physical memory. What is considered to be the critical point?
Is there a way to clear the memory without actually shutting down the server?
Solved! Go to Solution.
The "Available System Memory" statistic is provided by the JVM itself, so the server status page is just passing this information along -- for whatever it is worth.
Unforrtunately, it doesn't seem to be worth a whole lot in practice.
On many UNIX systems this statistic is utterly meaningless -- as the OS automatically uses more and more of the free memory as a disk IO cache. That's great, since the OS will automatically provide this memory to processes for other purposes as needed and in the mean time IO performance is improved. The problem is that the OS calls made by the JVM to obtain this statistic don't consider such disk cache memory as "available" or "free", so you'll generally see almost no physical memory available on a UNIX machine if it has been running for any substantial period of time.
On Windows I believe this statistic might be somewhat more meaningful, but still I'd not really put too much stock in it -- unless/until you verify that this statistic really seems to indicate something meaningful.
A final note: Java processes grab large blocks of memory for their heap, perm gen, etc. In cases they won't grab the maximum possible immediately (depending on one's configuration), but after one's has experienced a period of reasonably high load these blocks are likely to have grown as large as they will. After that point the OS doesn't necessarily need a huge amount of free memory -- as the JVM's have grabbed their own free memory pools for various usages.
How are you monitoring this usage?
I ask since you mention "85% used physical memory".
A few notes:
Sorry to be long-winded, but I think that pretty well covers it.
Jess M. Thanks so much for all the information.
We are monitoring using Server Manager - Diagnostics - Performance.
Today the monitor indicates that the used physical memory is at 87%.
I have inserted a screen shot of the Server status.
The "Available System Memory" statistic is provided by the JVM itself, so the server status page is just passing this information along -- for whatever it is worth.
Unforrtunately, it doesn't seem to be worth a whole lot in practice.
On many UNIX systems this statistic is utterly meaningless -- as the OS automatically uses more and more of the free memory as a disk IO cache. That's great, since the OS will automatically provide this memory to processes for other purposes as needed and in the mean time IO performance is improved. The problem is that the OS calls made by the JVM to obtain this statistic don't consider such disk cache memory as "available" or "free", so you'll generally see almost no physical memory available on a UNIX machine if it has been running for any substantial period of time.
On Windows I believe this statistic might be somewhat more meaningful, but still I'd not really put too much stock in it -- unless/until you verify that this statistic really seems to indicate something meaningful.
A final note: Java processes grab large blocks of memory for their heap, perm gen, etc. In cases they won't grab the maximum possible immediately (depending on one's configuration), but after one's has experienced a period of reasonably high load these blocks are likely to have grown as large as they will. After that point the OS doesn't necessarily need a huge amount of free memory -- as the JVM's have grabbed their own free memory pools for various usages.
Very helpful...Thanks a bunch!!!