This is an archive of the Maximo Yahoo Community. The content of this pages may be a sometimes obsolete so please check post dates.
Thanks to the community owner Christopher Wanko for providing the content.
My Maximo UI jvm's are running out of memory even though they are configured for 6gb. Does anyone have a good way to get notified with websphere 7x when a jvm gets an out of memory error so I can be more on top of the event rather than users telling me?
Thank you
May be you should look why you are getting out of memory rather then be notified when this will occur
Sent from my iPhone
On 18 Apr 2013, at 22:03, Lonnie Stone <lonnie_s_stone@yahoo.com> wrote:
> My Maximo UI jvm's are running out of memory even though they are configured for 6gb. Does anyone have a good way to get notified with websphere 7x when a jvm gets an out of memory error so I can be more on top of the event rather than users telling me?
>
> Thank you
>
>
>
>
There are commercial products out there for parsing log files and creating notifications. We use them here, but not yet configured to parse the Maximo / JVM logs, but that's a long term goal.
That sounds like a pretty serious memory leak if you are exhausting that much memory. We had a pretty serious memory leak a few years back. One thing to take a hard look at is the code in the init() methods of any customized object classes. Code in the init() methods should never open an MBOSet, because for some reason they don't close properly when opened from there. What we found was that we had some code in the init() method of our customized locations class that was doing this, and when the users would do a download from the list screen of locations, it would open, and never close thousands of MBOsets as the init() fired for every record on the list.
One other thing to be careful about is to always explicitly close your MBOSets, and you should really call the close in a "finally" block so that the close is sure to get called, even if an exception is thrown. This is unlikely to cause a memory leak of that severity, but it is a good practice to follow.
-Chris H
-----Original Message-----
From: MAXIMO@yahoogroups.com [mailto:MAXIMO@yahoogroups.com] On Behalf Of Lonnie Stone
Sent: Thursday, April 18, 2013 5:03 PM
To: MAXIMO@yahoogroups.com
Subject: [MAXIMO List] WebSphere Heapdump Notification
My Maximo UI jvm's are running out of memory even though they are configured for 6gb. Does anyone have a good way to get notified with websphere 7x when a jvm gets an out of memory error so I can be more on top of the event rather than users telling me?
Thank you
Hi Lonnie,
If you're looking for notification and you're on Server 2008 R2, you may want to look into the performance monitor functionality.
I'm thinking you might be able to create a performance metric using The "Process --> Working Set" counter, and then filter it to collect information only for JVM processes. You can put those results in a data collector set.
I think you could then set a performance counter alert when one of those working sets approaches 6 GB (say, when it hits 5).
That alert should be capable of sending an e-mail (assuming that server has access to your SMTP server).
I think you can do it directly via performance counter, but you also could probably generate an event in the event log and then take action on the event by sending an e-mail.
I'll look into an example, but here are some links to get you started that might help:
· http://www.techrepublic.com/blog/datacenter/use-resource-monitor-for-memory-monitoring/4927
· http://technet.microsoft.com/en-us/library/cc722414.aspx
· http://support.microsoft.com/kb/2424491
Hope this helps!
Sean Killeen
Systems Administrator | TSA Group
Johns Hopkins Applied Physics Laboratory
E: sean.killeen@jhuapl.edu<mailto:sean.killeen@jhuapl.edu> | P: 240.228.4841 | O: 13-S375
ENFJ/ENFP
From: MAXIMO@yahoogroups.com [mailto:MAXIMO@yahoogroups.com] On Behalf Of Hanna, Christopher A CTR
Sent: Friday, April 19, 2013 7:40 AM
To: MAXIMO@yahoogroups.com
Subject: RE: [MAXIMO List] WebSphere Heapdump Notification
There are commercial products out there for parsing log files and creating notifications. We use them here, but not yet configured to parse the Maximo / JVM logs, but that's a long term goal.
That sounds like a pretty serious memory leak if you are exhausting that much memory. We had a pretty serious memory leak a few years back. One thing to take a hard look at is the code in the init() methods of any customized object classes. Code in the init() methods should never open an MBOSet, because for some reason they don't close properly when opened from there. What we found was that we had some code in the init() method of our customized locations class that was doing this, and when the users would do a download from the list screen of locations, it would open, and never close thousands of MBOsets as the init() fired for every record on the list.
One other thing to be careful about is to always explicitly close your MBOSets, and you should really call the close in a "finally" block so that the close is sure to get called, even if an exception is thrown. This is unlikely to cause a memory leak of that severity, but it is a good practice to follow.
-Chris H
-----Original Message-----
From: MAXIMO@yahoogroups.com<mailto:MAXIMO%40yahoogroups.com> [mailto:MAXIMO@yahoogroups.com<mailto:MAXIMO%40yahoogroups.com>] On Behalf Of Lonnie Stone
Sent: Thursday, April 18, 2013 5:03 PM
To: MAXIMO@yahoogroups.com<mailto:MAXIMO%40yahoogroups.com>
Subject: [MAXIMO List] WebSphere Heapdump Notification
My Maximo UI jvm's are running out of memory even though they are configured for 6gb. Does anyone have a good way to get notified with websphere 7x when a jvm gets an out of memory error so I can be more on top of the event rather than users telling me?
Thank you
As a follow-up:
You could also run something like this in a PowerShell script via a scheduled task:
"\Process(*)\Working Set" | Get-Counter | ForEach {$_.CounterSamples} | ? {$_.instancename -eq "java"} | select InstanceName, @{Label="Working Set (GB)";Expression={[math]::round($_.cookedvalue/1GB,2)}} | ft -AutoSize
That gets the performance counter data of everything called "java" and converts it to GB.
You could add some additional logic to say that you should only return results that are over 4 GB by adding something after the name part like "? {$_.cookedvalue -gt 1073741824}"
If you find anything, you could do a For-Each statement on the results and write it into the event log. Then you could attach an alert to the event log.
Sean Killeen
Systems Administrator | TSA Group
Johns Hopkins Applied Physics Laboratory
E: sean.killeen@jhuapl.edu<mailto:sean.killeen@jhuapl.edu> | P: 240.228.4841 | O: 13-S375
ENFJ/ENFP
From: MAXIMO@yahoogroups.com [mailto:MAXIMO@yahoogroups.com] On Behalf Of Killeen, Sean J.
Sent: Friday, April 26, 2013 9:18 AM
To: MAXIMO@yahoogroups.com
Subject: RE: [MAXIMO List] WebSphere Heapdump Notification
Hi Lonnie,
If you're looking for notification and you're on Server 2008 R2, you may want to look into the performance monitor functionality.
I'm thinking you might be able to create a performance metric using The "Process --> Working Set" counter, and then filter it to collect information only for JVM processes. You can put those results in a data collector set.
I think you could then set a performance counter alert when one of those working sets approaches 6 GB (say, when it hits 5).
That alert should be capable of sending an e-mail (assuming that server has access to your SMTP server).
I think you can do it directly via performance counter, but you also could probably generate an event in the event log and then take action on the event by sending an e-mail.
I'll look into an example, but here are some links to get you started that might help:
* http://www.techrepublic.com/blog/datacenter/use-resource-monitor-for-memory-monitoring/4927
* http://technet.microsoft.com/en-us/library/cc722414.aspx
* http://support.microsoft.com/kb/2424491
Hope this helps!
Sean Killeen
Systems Administrator | TSA Group
Johns Hopkins Applied Physics Laboratory
E: sean.killeen@jhuapl.edu<mailto:sean.killeen%40jhuapl.edu><mailto:sean.killeen@jhuapl.edu<mailto:sean.killeen%40jhuapl.edu>> | P: 240.228.4841 | O: 13-S375
ENFJ/ENFP
From: MAXIMO@yahoogroups.com<mailto:MAXIMO%40yahoogroups.com> [mailto:MAXIMO@yahoogroups.com<mailto:MAXIMO%40yahoogroups.com>] On Behalf Of Hanna, Christopher A CTR
Sent: Friday, April 19, 2013 7:40 AM
To: MAXIMO@yahoogroups.com<mailto:MAXIMO%40yahoogroups.com>
Subject: RE: [MAXIMO List] WebSphere Heapdump Notification
There are commercial products out there for parsing log files and creating notifications. We use them here, but not yet configured to parse the Maximo / JVM logs, but that's a long term goal.
That sounds like a pretty serious memory leak if you are exhausting that much memory. We had a pretty serious memory leak a few years back. One thing to take a hard look at is the code in the init() methods of any customized object classes. Code in the init() methods should never open an MBOSet, because for some reason they don't close properly when opened from there. What we found was that we had some code in the init() method of our customized locations class that was doing this, and when the users would do a download from the list screen of locations, it would open, and never close thousands of MBOsets as the init() fired for every record on the list.
One other thing to be careful about is to always explicitly close your MBOSets, and you should really call the close in a "finally" block so that the close is sure to get called, even if an exception is thrown. This is unlikely to cause a memory leak of that severity, but it is a good practice to follow.
-Chris H
-----Original Message-----
From: MAXIMO@yahoogroups.com<mailto:MAXIMO%40yahoogroups.com><mailto:MAXIMO%40yahoogroups.com> [mailto:MAXIMO@yahoogroups.com<mailto:MAXIMO%40yahoogroups.com><mailto:MAXIMO%40yahoogroups.com>] On Behalf Of Lonnie Stone
Sent: Thursday, April 18, 2013 5:03 PM
To: MAXIMO@yahoogroups.com<mailto:MAXIMO%40yahoogroups.com><mailto:MAXIMO%40yahoogroups.com>
Subject: [MAXIMO List] WebSphere Heapdump Notification
My Maximo UI jvm's are running out of memory even though they are configured for 6gb. Does anyone have a good way to get notified with websphere 7x when a jvm gets an out of memory error so I can be more on top of the event rather than users telling me?
Thank you
I'm not sure what is causing your memory leak or if there really is
one. I can tell you that a JVM of 6gb is too large to process efficiently. On a 64bit machine your JVM should really not be above 3gb. Set up a cluster - Split the JVM into 2 or more depending on your load. Figure 25users/jvm and you should be good. If by chance you do have a memory leak, 1 of the JVM crashes and the others handle the load. If you must have an email to notify you of this there are many solutions. For one, you could write a database job to examine maxsession where active and userid='maximo', group by servertimestamp. If the value of servertimestamp does not change you know the jvm is jacked up. You could of course put all this in some sort of batch file and use jcl/python to start/stop/terminate the server - if you like. You could write a perl script/c#/whatever to make a request to the server and then look for some data in the file (html) that would be known to be there - such as "Welcome". If its not there, the server is not responding.. Good Luck
--- In MAXIMO@yahoogroups.com, "Killeen, Sean J." <sean.killeen@...> wrote:
>
> Hi Lonnie,
>
> If you're looking for notification and you're on Server 2008 R2, you may want to look into the performance monitor functionality.
>
> I'm thinking you might be able to create a performance metric using The "Process --> Working Set" counter, and then filter it to collect information only for JVM processes. You can put those results in a data collector set.
> I think you could then set a performance counter alert when one of those working sets approaches 6 GB (say, when it hits 5).
>
> That alert should be capable of sending an e-mail (assuming that server has access to your SMTP server).
> I think you can do it directly via performance counter, but you also could probably generate an event in the event log and then take action on the event by sending an e-mail.
>
> I'll look into an example, but here are some links to get you started that might help:
>
>
> · http://www.techrepublic.com/blog/datacenter/use-resource-monitor-for-memory-monitoring/4927
>
> · http://technet.microsoft.com/en-us/library/cc722414.aspx
>
> · http://support.microsoft.com/kb/2424491
>
> Hope this helps!
>
> Sean Killeen
> Systems Administrator | TSA Group
> Johns Hopkins Applied Physics Laboratory
> E: sean.killeen@...<mailto:sean.killeen@...> | P: 240.228.4841 | O: 13-S375
> ENFJ/ENFP
>
> From: MAXIMO@yahoogroups.com [mailto:MAXIMO@yahoogroups.com] On Behalf Of Hanna, Christopher A CTR
> Sent: Friday, April 19, 2013 7:40 AM
> To: MAXIMO@yahoogroups.com
> Subject: RE: [MAXIMO List] WebSphere Heapdump Notification
>
>
>
> There are commercial products out there for parsing log files and creating notifications. We use them here, but not yet configured to parse the Maximo / JVM logs, but that's a long term goal.
>
> That sounds like a pretty serious memory leak if you are exhausting that much memory. We had a pretty serious memory leak a few years back. One thing to take a hard look at is the code in the init() methods of any customized object classes. Code in the init() methods should never open an MBOSet, because for some reason they don't close properly when opened from there. What we found was that we had some code in the init() method of our customized locations class that was doing this, and when the users would do a download from the list screen of locations, it would open, and never close thousands of MBOsets as the init() fired for every record on the list.
>
> One other thing to be careful about is to always explicitly close your MBOSets, and you should really call the close in a "finally" block so that the close is sure to get called, even if an exception is thrown. This is unlikely to cause a memory leak of that severity, but it is a good practice to follow.
>
> -Chris H
>
> -----Original Message-----
> From: MAXIMO@yahoogroups.com<mailto:MAXIMO%40yahoogroups.com> [mailto:MAXIMO@yahoogroups.com<mailto:MAXIMO%40yahoogroups.com>] On Behalf Of Lonnie Stone
> Sent: Thursday, April 18, 2013 5:03 PM
> To: MAXIMO@yahoogroups.com<mailto:MAXIMO%40yahoogroups.com>
> Subject: [MAXIMO List] WebSphere Heapdump Notification
>
> My Maximo UI jvm's are running out of memory even though they are configured for 6gb. Does anyone have a good way to get notified with websphere 7x when a jvm gets an out of memory error so I can be more on top of the event rather than users telling me?
>
> Thank you
>
>
>
>
>
>
>