Author |
Message
|
j.f.sorge |
Posted: Wed Feb 09, 2011 10:09 am Post subject: limit on memory consumption of 64bit execution groups |
|
|
Master
Joined: 27 Feb 2008 Posts: 218
|
We are running WMB 6.1.0.8 (64bit) on Solaris and getting problems because execution groups need a lot of memory after normal processing has been done for some days. When running WMB 6.0.0.3 (32bit) the execution group process got restarted automatically after 4GB limit (mentioned at InfoCenter) has been reached. But where is this limit when running 64bit execution groups? Can you configure message broker to restart 64bit execution groups automatically after 4GB of memory has been allocated as it does not free the memory it allocated times ago?
Thanks in advance! _________________ IBM Certified Solution Designer - WebSphere MQ V6.0
IBM Certified Solution Developer - WebSphere Message Broker V6.0
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
lancelotlinc |
Posted: Wed Feb 09, 2011 10:23 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
|
Back to top |
|
 |
mqjeff |
Posted: Wed Feb 09, 2011 10:40 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
lancelotlinc wrote: |
WMB is a Java program, |
Except for the parts of it that are in C++. |
|
Back to top |
|
 |
j.f.sorge |
Posted: Wed Feb 09, 2011 10:49 am Post subject: |
|
|
Master
Joined: 27 Feb 2008 Posts: 218
|
mqjeff wrote: |
lancelotlinc wrote: |
WMB is a Java program, |
Except for the parts of it that are in C++. |
So is there any chance freeing the memory allocated by the C++ parts? _________________ IBM Certified Solution Designer - WebSphere MQ V6.0
IBM Certified Solution Developer - WebSphere Message Broker V6.0
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
smdavies99 |
Posted: Wed Feb 09, 2011 11:00 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Just to remind you that WMB 6.0 is shortly going out of service.
6.0.0.3 is far from the last FixPack for 6.0.0.0. I'm sire if you were to examine the APARS in later FixPAcks you may well find that some of the possible memory leaks you are experiencing may well have been fixed. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Feb 09, 2011 11:06 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
It should be reused, without needing to be freed.
There are certain things that can be done in message flow coding that will fail to free memory.
There is always the possibility that there is a leak in the Broker code itself. |
|
Back to top |
|
 |
dominik.schweers |
Posted: Wed Feb 09, 2011 9:55 pm Post subject: |
|
|
Novice
Joined: 23 Oct 2008 Posts: 17
|
mqjeff wrote: |
There are certain things that can be done in message flow coding that will fail to free memory.
|
Is this documented somewhere or can you give examples?
Thank you very much! |
|
Back to top |
|
 |
lancelotlinc |
Posted: Thu Feb 10, 2011 5:17 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
One way to help the GC out is to set all your objects to null as you exit the JCN. For example, you could have try catch finally and in your finally block, set all those objects you created to null. This will expedite their cleanup by GC and provide swifter access to contiguous memory blocks. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
Vitor |
Posted: Thu Feb 10, 2011 5:18 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
lancelotlinc wrote: |
One way to help the GC out is to set all your objects to null as you exit the JCN. For example, you could have try catch finally and in your finally block, set all those objects you created to null. This will expedite their cleanup by GC and provide swifter access to contiguous memory blocks. |
At what point in this thread did the OP say he was using JCNs?  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Thu Feb 10, 2011 5:25 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
Good morning Sir Vitor. May I buy you a cup of coffee?
>> At what point in this thread did the OP say he was using JCNs?
dominik.schweers asks for specific examples. I provided one that may help the memory situation., Did you have one you could offer? _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
Vitor |
Posted: Thu Feb 10, 2011 5:39 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
lancelotlinc wrote: |
Good morning Sir Vitor. May I buy you a cup of coffee? |
Thanks, but the IV Thermos is in place.
lancelotlinc wrote: |
dominik.schweers asks for specific examples. I provided one that may help the memory situation., Did you have one you could offer? |
Your example doesn't fail to free memory, simply makes it free faster. It also underlines your earlier, slightly flawed assertion that WMB is a Java application. An inexperienced reader might have looked at this thread and spent a rather futile period of time trying to configure the GC for ESQL, or a mapping node, and overlooked the poor parser choice on a FileInput.
I accept my earlier comment did not fully explain my point and should have had some additional details. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Esa |
Posted: Thu Feb 10, 2011 5:48 am Post subject: |
|
|
 Grand Master
Joined: 22 May 2008 Posts: 1387 Location: Finland
|
lancelotlinc wrote: |
jconsole is provided as part of the Java runtime environment. It is distributed with the runtime. You would typically run jconsole on your Windows machine and connect to the JVM on the Sun machine. |
Lancelot, how do you determine or set up the JXM server port of the execution group?
I tried to mqsichageproperties the jvmSystemProperty com.sun.management.jmxremote.port, but after that the execution group wouldn't start because of an unregognized option when creating JVM. |
|
Back to top |
|
 |
lancelotlinc |
Posted: Thu Feb 10, 2011 5:54 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
On Windows, edit the DataFlowEngine service properties dialog to include whatever port you want at the time Windows starts that service:
Code: |
-Dcom.sun.management.jmxremote.port=3000 |
On AIX, you edit the command that starts DataFlowEngine to do the same. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
dominik.schweers |
Posted: Thu Feb 10, 2011 6:26 am Post subject: |
|
|
Novice
Joined: 23 Oct 2008 Posts: 17
|
Thank you very much for the lively discussion!
The flows/EGs causing the memory problems do not use JAVA for mapping or lets say their "real" work.
Indeed there is a bit of JAVA in every flow of ours, because we use some JAVA in SubFlows for errorhandling stuff.
Any hint is welcome! |
|
Back to top |
|
 |
lancelotlinc |
Posted: Thu Feb 10, 2011 6:29 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
In the Java code that you do use, if you do not mark your objects as null when you are done with them, the fact that these objects do not get cleaned up expeditiously will impact your other objects, including Broker internals in both the C and Java languages.
It is a holistic system. One part will impact other parts even though they are different languages and otherwise unrelated. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
|