Re: Finding memory leaks in the AR System

2010-04-08 Thread patchsk
We have apps where users query the system with webservices couple
thousand times a day.
It is through webservice calls.
Any timedout webservice calls or webservice calls returning large data
set etc...are causing memory leaks
when executed over and over like several thousand times.


On Apr 7, 3:28 pm, Robert Halstead badbee...@gmail.com wrote:
 Do you see the memory leak on just deneral usage of the midtier?  Or is
 there a specific action to replicate? Is this through the mid-tier
 interface, or webservice call?





 On Wed, Apr 7, 2010 at 3:22 PM, patchsk vamsi...@gmail.com wrote:
  It is under limited availability and is going through UAT as per our
  support rep.
  We are expecting around end of this month, but she can not speak for
  sure as it depends on their test results.

  On Apr 7, 1:52 pm, Robert Halstead badbee...@gmail.com wrote:
   patchsk,

   We do utiize the midtier a lot with our custom applications and tools as
   that is the only cross-platform way to communicate with remedy without
  using
   their java api.  That would explain a lot actually.  I'll have do some
   testing with our other apps to see if I can replicate in patch 004.  I
  know
   BMC isn't very forthcoming with their patch schedule, but did they say
  when
   patch 005 was going to go live?

   Thanks for the heads up though :)

   On Wed, Apr 7, 2010 at 2:47 PM, patchsk vamsi...@gmail.com wrote:
We have seen memory issues too on Solaris5.10, ARSystem 7.5patch3.
BMC has found  three memory leaks related  to be caused by webservice
calls i.e., ARXMLGE api calls after a long investigation. Regular user
tool we did not see much issues.
They supposed to fix it with patch005.
Also libumem worked better for us compared to default memory handler,
even though they say libumem is only effective for older solaris os.
After creating a ticket basically BMC has given us a script to log
server env (prstat,vmstat etc..) at regualar intervals.
We provided them those logs with remedy api logs and they did the
investigation based on that.
We had to fight a lot though to escalate it to server team.

On Apr 7, 10:27 am, Robert Halstead badbee...@gmail.com wrote:
 Axton,

 Once I have this all setup with libumem and enable the UMEM_DEBUG and
 UMEM_LOGGING environment variables, do I just wait for the leak to
  occur
to
 the point where the app crashes?  Does the system produce a core file
  at
 that point?  Do I then perform the MDB commands on that core file?

 Reading the article on dbx (RTC), it looks like I can connect to the
running
 program without stopping it but I need to have the Sun Studio
  installed
to
 get the dbx program correct?

 On Tue, Apr 6, 2010 at 8:14 PM, Axton axton.gr...@gmail.com wrote:
  ** Since you are on Solaris/sparc you have some really good options
  for
  seeing if there are memory leaks.  Look into the slab memory
  allocator
  (libumem).

 http://blogs.sun.com/ahl/entry/solaris_10_top_11_20

   http://blogs.sun.com/ahl/entry/solaris_10_top_11_20There are
actually
  performance benefits to using this memory allocator to the standard
libc
  (though it does make the memory footprint slightly larger), but
  it's
going
  to hard stop your software (sigsegv, sigbus, etc.) in the event
  nasty
things
  are going on that shouldn't be going on.  Good news is that it
  tells
you
  what/where if you tell your system to generate a core in the event.

  Once you have things running under libumem, you can put some checks
  on
  memory usage (see the following):
  UMEM_DEBUG
  UMEM_LOGGING

  Once you do that, it makes some handy options available in dbx
  (RTC):
  http://www.mail-archive.com/arsl...@arslist.org/msg33614.html
 http://www.fortran-2000.com/ArnaudRecipes/SunMemoryDB.html#SunDbx

  You can attach the debugger to the process in flight to check for
memory
  leaks:

 http://technopark02.blogspot.com/2005/10/sun-studio-investigating-mem.
..

  See here for the high-level gory details.  Pretty cool stuff:
 http://developers.sun.com/solaris/articles/libumem_library.html

  Axton Grams

  On Tue, Apr 6, 2010 at 4:38 PM, Robert Halstead 
  badbee...@gmail.com
wrote:

  ** Hey all,

  We're running AR System 7.5 patch 004 and we are finding that our
server
  is eating up memory and not releasing it.  We are in the UAT
  process
and
  have roughly 10 testers testing the system.  During this time
  we've
noticed
  a huge memory allocation and eventually the arserverd process
  would
consume
  2-3 gigs of memory and all the swap space, at which point the
  machine
comes
  to it's knees and the process needs to be forcibly killed or the
  box
hard
  restarted.

  I remember reading somewhere that the AR System doesn't release
  memory

Re: Finding memory leaks in the AR System

2010-04-07 Thread Terry Bootsma
**
Robert:I had an issue with the standard memory manager on Solaris for 7.1 a while ago... I am re-posting for your info. Like Axton said, it may be worthwhile changing your memory manager to "libumem" and re-trying...TerryREPOST:
libumem, ITSM 7.0.2 and Solaris Load Testing

Hello everyone:

We are currently running ARS 7.1, ITSM 7.0.2 (latest patch) Incident/Change/CMDB/Problem on a high end Solaris box running Solaris 10 with a DB2 database. We had been conducting stress testing of the application utilizing Loadrunner (yes, we are aware of the limitations of this tool, but were able to get around them) and were previously experiencing exponential degradation of response times once a fixed number of users were logged into the system and performing certain functions (Note: These tests were with the WUT, not MidTier). These tests and results were both repeatable and consistent.

After working with Remedy engineers on this problem and analyzing various log files and pstack output on the server, they suggested that we replace the default Solaris memory manager with "libumem" as there was extreme memory heap contention by the arsystem process. Believe it or not, this has fixed our performance issue and the application now scales to the desired number of users without any known problems to date. With the previous memory manager, we could not get over 130 users logging in over an hour. With the new memory manager, we were able to get 300+ logged in without the previously experienced exponential degradation.

We will continue to do further load testing, however, I would be interested in hearing from anyone out there who has experience using "libumem" on your server to any capacity (development, testing, or production) Have you come across any issues or hints regarding it's use? 

Thank you...

Terry

On Apr 6, 2010, Robert Halstead badbee...@gmail.com wrote:

** Hey all,We're running AR System 7.5 patch 004 and we are finding that our server is eating up memory and not releasing it. We are in the UAT process and have roughly 10 testers testing the system. During this time we've noticed a huge memory allocation and eventually the arserverd process would consume 2-3 gigs of memory and all the swap space, at which point the machine comes to it's knees and the process needs to be forcibly killed or the box hard restarted.I remember reading somewhere that the AR System doesn't release memory for large queries, but instead just reuses the memory address space. Is this still true for 7.5? Are there any type of performance configurations I can add to the ar.conf file to allow the AR System to release the memory it allocates? Or to prevent a query from taking all the available memory on the box? I thought the AR System used temporary file storage for storaging a large SQL result? Our 6.3 AR System stores temporary query result files in /var/tmp/ARpen* files, does 7.5 not do the same thing?I just thought I would ping the list before I open a ticket with BMC and see if anyone else is seeing a memory leak or has had this problem occur to them in the past. Though I'm not sure who all is running the latest 7.5 AR System.Any help would be appreciated as I'm not sure what BMC will want me to look for to determine a memory leak and I don't like to engage them without some sort of proof that one exists.Our server specs are the following:System Configuration: Sun Microsystems sun4u Sun Fire V210System clock frequency: 167 MHZMemory size: 4GB  CPUs  E$ CPU CPUCPU Freq Size Implementation Mask Status Location---  -- - - -- 0 1002 MHz 1MB SUNW,UltraSPARC-IIIi 2.4 on-line MB/P01 1002 MHz 1MB SUNW,UltraSPARC-IIIi 2.4 on-line MB/P1AR System 7.5 patch 004Apache Tomcat 5.5.28 / Midtier 7.5 patch 004If you guys need more server specs let me know. We are trying to replicate the issue but we are unsure how it happens and don't really know where to start.Thanks for the help.-- "A fool acts, regardless; knowing well that he is wrong. The ignoramus acts on only what he knows, but all that he knows.The ignoramus may be saved, but the fool knows that he is doomed."Bob Halstead_attend WWRUG10 www.wwrug.com ARSlist: "Where the Answers Are"_

_attend WWRUG10 www.wwrug.com  ARSlist: "Where the Answers Are"_


Re: Finding memory leaks in the AR System

2010-04-07 Thread Robert Halstead
Thanks so much guys!!  You have most likely put my project back on track
here.

Axton, I will read those articles right now and talk to our system engineers
on getting the memory manager switched.  Thanks for the tips NN, hopefully I
will have everything I need when I open the ticket.

On Wed, Apr 7, 2010 at 6:53 AM, Terry Bootsma tboot...@objectpath.comwrote:

 ** Robert:

 I had an issue with the standard memory manager on Solaris for 7.1 a while
 ago... I am re-posting for your info.  Like Axton said, it may be worthwhile
 changing your memory manager to libumem and re-trying...

 Terry

 REPOST:

 libumem, ITSM 7.0.2 and Solaris Load 
 Testinghttp://mail.objectpath.com/communities/message/84134#84134

 Hello everyone:



 We are currently running ARS 7.1, ITSM 7.0.2 (latest patch)
 Incident/Change/CMDB/Problem on a high end Solaris box running Solaris 10
 with a DB2 database.  We had been conducting stress testing of the
 application utilizing Loadrunner (yes, we are aware of the limitations of
 this tool, but were able to get around them) and were previously
 experiencing exponential degradation of response times once a fixed number
 of users were logged into the system and performing certain functions (Note:
 These tests were with the WUT, not MidTier).   These  tests and results were
 both repeatable and consistent.



 After working with Remedy engineers on this problem and analyzing various
 log files and pstack output on the server, they suggested that we replace
 the default Solaris memory manager with libumem as there was extreme
 memory heap contention by the arsystem process.  Believe it or not, this has
 fixed our performance issue and the application now scales to the desired
 number of users without any known problems to date.  With the previous
 memory manager, we could not get over 130 users logging in over an hour.
 With the new memory manager, we were able to get 300+ logged in without the
 previously experienced exponential degradation.



 We will continue to do further load testing, however, I would be interested
 in hearing from anyone out there who has experience using libumem on your
 server to any capacity (development, testing, or production)  Have you come
 across any issues or hints regarding it's use?



 Thank you...



 Terry


 On Apr 6, 2010, *Robert Halstead* badbee...@gmail.com wrote:

 ** Hey all,


 We're running AR System 7.5 patch 004 and we are finding that our server is
 eating up memory and not releasing it.  We are in the UAT process and have
 roughly 10 testers testing the system.  During this time we've noticed a
 huge memory allocation and eventually the arserverd process would consume
 2-3 gigs of memory and all the swap space, at which point the machine comes
 to it's knees and the process needs to be forcibly killed or the box hard
 restarted.

 I remember reading somewhere that the AR System doesn't release memory for
 large queries, but instead just reuses the memory address space.  Is this
 still true for 7.5?  Are there any type of performance configurations I can
 add to the ar.conf file to allow the AR System to release the memory it
 allocates?  Or to prevent a query from taking all the available memory on
 the box?

 I thought the AR System used temporary file storage for storaging a large
 SQL result?  Our 6.3 AR System stores temporary query result files in
 /var/tmp/ARpen* files, does 7.5 not do the same thing?

 I just thought I would ping the list before I open a ticket with BMC and
 see if anyone else is seeing a memory leak or has had this problem occur to
 them in the past.  Though I'm not sure who all is running the latest 7.5 AR
 System.

 Any help would be appreciated as I'm not sure what BMC will want me to look
 for to determine a memory leak and I don't like to engage them without some
 sort of proof that one exists.

 Our server specs are the following:

 System Configuration: Sun Microsystems  sun4u Sun Fire V210
 System clock frequency: 167 MHZ
 Memory size: 4GB

  CPUs
 
E$  CPUCPU
 CPU  Freq  SizeImplementation MaskStatus
 Location
 ---    --  -  -   --
 
 01002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line MB/P0
 11002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line MB/P1

 AR System 7.5 patch 004
 Apache Tomcat 5.5.28 / Midtier 7.5 patch 004

 If you guys need more server specs let me know.  We are trying to replicate
 the issue but we are unsure how it happens and don't really know where to
 start.

 Thanks for the help.

 --
 A fool acts, regardless; knowing well that he is wrong. The ignoramus acts
 on only what he knows, but all that he knows.
 The ignoramus may be saved, but the fool knows that he is doomed.

 Bob Halstead
 _attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_

  _attend 

Re: Finding memory leaks in the AR System

2010-04-07 Thread Robert Halstead
Axton,

Once I have this all setup with libumem and enable the UMEM_DEBUG and
UMEM_LOGGING environment variables, do I just wait for the leak to occur to
the point where the app crashes?  Does the system produce a core file at
that point?  Do I then perform the MDB commands on that core file?

Reading the article on dbx (RTC), it looks like I can connect to the running
program without stopping it but I need to have the Sun Studio installed to
get the dbx program correct?



On Tue, Apr 6, 2010 at 8:14 PM, Axton axton.gr...@gmail.com wrote:

 ** Since you are on Solaris/sparc you have some really good options for
 seeing if there are memory leaks.  Look into the slab memory allocator
 (libumem).

 http://blogs.sun.com/ahl/entry/solaris_10_top_11_20

  http://blogs.sun.com/ahl/entry/solaris_10_top_11_20There are actually
 performance benefits to using this memory allocator to the standard libc
 (though it does make the memory footprint slightly larger), but it's going
 to hard stop your software (sigsegv, sigbus, etc.) in the event nasty things
 are going on that shouldn't be going on.  Good news is that it tells you
 what/where if you tell your system to generate a core in the event.

 Once you have things running under libumem, you can put some checks on
 memory usage (see the following):
 UMEM_DEBUG
 UMEM_LOGGING

 Once you do that, it makes some handy options available in dbx (RTC):
 http://www.mail-archive.com/arslist@arslist.org/msg33614.html
 http://www.fortran-2000.com/ArnaudRecipes/SunMemoryDB.html#SunDbx

 You can attach the debugger to the process in flight to check for memory
 leaks:

 http://technopark02.blogspot.com/2005/10/sun-studio-investigating-memory-leaks.html

 See here for the high-level gory details.  Pretty cool stuff:
 http://developers.sun.com/solaris/articles/libumem_library.html

 Axton Grams

 On Tue, Apr 6, 2010 at 4:38 PM, Robert Halstead badbee...@gmail.comwrote:

 ** Hey all,


 We're running AR System 7.5 patch 004 and we are finding that our server
 is eating up memory and not releasing it.  We are in the UAT process and
 have roughly 10 testers testing the system.  During this time we've noticed
 a huge memory allocation and eventually the arserverd process would consume
 2-3 gigs of memory and all the swap space, at which point the machine comes
 to it's knees and the process needs to be forcibly killed or the box hard
 restarted.

 I remember reading somewhere that the AR System doesn't release memory for
 large queries, but instead just reuses the memory address space.  Is this
 still true for 7.5?  Are there any type of performance configurations I can
 add to the ar.conf file to allow the AR System to release the memory it
 allocates?  Or to prevent a query from taking all the available memory on
 the box?

 I thought the AR System used temporary file storage for storaging a large
 SQL result?  Our 6.3 AR System stores temporary query result files in
 /var/tmp/ARpen* files, does 7.5 not do the same thing?

 I just thought I would ping the list before I open a ticket with BMC and
 see if anyone else is seeing a memory leak or has had this problem occur to
 them in the past.  Though I'm not sure who all is running the latest 7.5 AR
 System.

 Any help would be appreciated as I'm not sure what BMC will want me to
 look for to determine a memory leak and I don't like to engage them without
 some sort of proof that one exists.

 Our server specs are the following:

 System Configuration: Sun Microsystems  sun4u Sun Fire V210
 System clock frequency: 167 MHZ
 Memory size: 4GB

  CPUs
 
E$  CPUCPU
 CPU  Freq  SizeImplementation MaskStatus
 Location
 ---    --  -  -   --
 
 01002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line
 MB/P0
 11002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line
 MB/P1

 AR System 7.5 patch 004
 Apache Tomcat 5.5.28 / Midtier 7.5 patch 004

 If you guys need more server specs let me know.  We are trying to
 replicate the issue but we are unsure how it happens and don't really know
 where to start.

 Thanks for the help.

 --
 A fool acts, regardless; knowing well that he is wrong. The ignoramus
 acts on only what he knows, but all that he knows.
 The ignoramus may be saved, but the fool knows that he is doomed.

 Bob Halstead
 _attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_


 _attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_




-- 
A fool acts, regardless; knowing well that he is wrong. The ignoramus acts
on only what he knows, but all that he knows.
The ignoramus may be saved, but the fool knows that he is doomed.

Bob Halstead

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where 

Re: Finding memory leaks in the AR System

2010-04-07 Thread patchsk
We have seen memory issues too on Solaris5.10, ARSystem 7.5patch3.
BMC has found  three memory leaks related  to be caused by webservice
calls i.e., ARXMLGE api calls after a long investigation. Regular user
tool we did not see much issues.
They supposed to fix it with patch005.
Also libumem worked better for us compared to default memory handler,
even though they say libumem is only effective for older solaris os.
After creating a ticket basically BMC has given us a script to log
server env (prstat,vmstat etc..) at regualar intervals.
We provided them those logs with remedy api logs and they did the
investigation based on that.
We had to fight a lot though to escalate it to server team.

On Apr 7, 10:27 am, Robert Halstead badbee...@gmail.com wrote:
 Axton,

 Once I have this all setup with libumem and enable the UMEM_DEBUG and
 UMEM_LOGGING environment variables, do I just wait for the leak to occur to
 the point where the app crashes?  Does the system produce a core file at
 that point?  Do I then perform the MDB commands on that core file?

 Reading the article on dbx (RTC), it looks like I can connect to the running
 program without stopping it but I need to have the Sun Studio installed to
 get the dbx program correct?





 On Tue, Apr 6, 2010 at 8:14 PM, Axton axton.gr...@gmail.com wrote:
  ** Since you are on Solaris/sparc you have some really good options for
  seeing if there are memory leaks.  Look into the slab memory allocator
  (libumem).

 http://blogs.sun.com/ahl/entry/solaris_10_top_11_20

   http://blogs.sun.com/ahl/entry/solaris_10_top_11_20There are actually
  performance benefits to using this memory allocator to the standard libc
  (though it does make the memory footprint slightly larger), but it's going
  to hard stop your software (sigsegv, sigbus, etc.) in the event nasty things
  are going on that shouldn't be going on.  Good news is that it tells you
  what/where if you tell your system to generate a core in the event.

  Once you have things running under libumem, you can put some checks on
  memory usage (see the following):
  UMEM_DEBUG
  UMEM_LOGGING

  Once you do that, it makes some handy options available in dbx (RTC):
  http://www.mail-archive.com/arsl...@arslist.org/msg33614.html
 http://www.fortran-2000.com/ArnaudRecipes/SunMemoryDB.html#SunDbx

  You can attach the debugger to the process in flight to check for memory
  leaks:

 http://technopark02.blogspot.com/2005/10/sun-studio-investigating-mem...

  See here for the high-level gory details.  Pretty cool stuff:
 http://developers.sun.com/solaris/articles/libumem_library.html

  Axton Grams

  On Tue, Apr 6, 2010 at 4:38 PM, Robert Halstead badbee...@gmail.comwrote:

  ** Hey all,

  We're running AR System 7.5 patch 004 and we are finding that our server
  is eating up memory and not releasing it.  We are in the UAT process and
  have roughly 10 testers testing the system.  During this time we've noticed
  a huge memory allocation and eventually the arserverd process would consume
  2-3 gigs of memory and all the swap space, at which point the machine comes
  to it's knees and the process needs to be forcibly killed or the box hard
  restarted.

  I remember reading somewhere that the AR System doesn't release memory for
  large queries, but instead just reuses the memory address space.  Is this
  still true for 7.5?  Are there any type of performance configurations I can
  add to the ar.conf file to allow the AR System to release the memory it
  allocates?  Or to prevent a query from taking all the available memory on
  the box?

  I thought the AR System used temporary file storage for storaging a large
  SQL result?  Our 6.3 AR System stores temporary query result files in
  /var/tmp/ARpen* files, does 7.5 not do the same thing?

  I just thought I would ping the list before I open a ticket with BMC and
  see if anyone else is seeing a memory leak or has had this problem occur to
  them in the past.  Though I'm not sure who all is running the latest 7.5 AR
  System.

  Any help would be appreciated as I'm not sure what BMC will want me to
  look for to determine a memory leak and I don't like to engage them without
  some sort of proof that one exists.

  Our server specs are the following:

  System Configuration: Sun Microsystems  sun4u Sun Fire V210
  System clock frequency: 167 MHZ
  Memory size: 4GB

   CPUs
  
                 E$          CPU                    CPU
  CPU  Freq      Size        Implementation         Mask    Status
  Location
  ---    --  -  -   --
  
  0    1002 MHz  1MB         SUNW,UltraSPARC-IIIi    2.4    on-line
  MB/P0
  1    1002 MHz  1MB         SUNW,UltraSPARC-IIIi    2.4    on-line
  MB/P1

  AR System 7.5 patch 004
  Apache Tomcat 5.5.28 / Midtier 7.5 patch 004

  If you guys need more server specs let me know.  We are trying to
  replicate the issue but 

Re: Finding memory leaks in the AR System

2010-04-07 Thread Robert Halstead
patchsk,

We do utiize the midtier a lot with our custom applications and tools as
that is the only cross-platform way to communicate with remedy without using
their java api.  That would explain a lot actually.  I'll have do some
testing with our other apps to see if I can replicate in patch 004.  I know
BMC isn't very forthcoming with their patch schedule, but did they say when
patch 005 was going to go live?

Thanks for the heads up though :)

On Wed, Apr 7, 2010 at 2:47 PM, patchsk vamsi...@gmail.com wrote:

 We have seen memory issues too on Solaris5.10, ARSystem 7.5patch3.
 BMC has found  three memory leaks related  to be caused by webservice
 calls i.e., ARXMLGE api calls after a long investigation. Regular user
 tool we did not see much issues.
 They supposed to fix it with patch005.
 Also libumem worked better for us compared to default memory handler,
 even though they say libumem is only effective for older solaris os.
 After creating a ticket basically BMC has given us a script to log
 server env (prstat,vmstat etc..) at regualar intervals.
 We provided them those logs with remedy api logs and they did the
 investigation based on that.
 We had to fight a lot though to escalate it to server team.

 On Apr 7, 10:27 am, Robert Halstead badbee...@gmail.com wrote:
  Axton,
 
  Once I have this all setup with libumem and enable the UMEM_DEBUG and
  UMEM_LOGGING environment variables, do I just wait for the leak to occur
 to
  the point where the app crashes?  Does the system produce a core file at
  that point?  Do I then perform the MDB commands on that core file?
 
  Reading the article on dbx (RTC), it looks like I can connect to the
 running
  program without stopping it but I need to have the Sun Studio installed
 to
  get the dbx program correct?
 
 
 
 
 
  On Tue, Apr 6, 2010 at 8:14 PM, Axton axton.gr...@gmail.com wrote:
   ** Since you are on Solaris/sparc you have some really good options for
   seeing if there are memory leaks.  Look into the slab memory allocator
   (libumem).
 
  http://blogs.sun.com/ahl/entry/solaris_10_top_11_20
 
http://blogs.sun.com/ahl/entry/solaris_10_top_11_20There are
 actually
   performance benefits to using this memory allocator to the standard
 libc
   (though it does make the memory footprint slightly larger), but it's
 going
   to hard stop your software (sigsegv, sigbus, etc.) in the event nasty
 things
   are going on that shouldn't be going on.  Good news is that it tells
 you
   what/where if you tell your system to generate a core in the event.
 
   Once you have things running under libumem, you can put some checks on
   memory usage (see the following):
   UMEM_DEBUG
   UMEM_LOGGING
 
   Once you do that, it makes some handy options available in dbx (RTC):
   http://www.mail-archive.com/arsl...@arslist.org/msg33614.html
  http://www.fortran-2000.com/ArnaudRecipes/SunMemoryDB.html#SunDbx
 
   You can attach the debugger to the process in flight to check for
 memory
   leaks:
 
  http://technopark02.blogspot.com/2005/10/sun-studio-investigating-mem.
 ..
 
   See here for the high-level gory details.  Pretty cool stuff:
  http://developers.sun.com/solaris/articles/libumem_library.html
 
   Axton Grams
 
   On Tue, Apr 6, 2010 at 4:38 PM, Robert Halstead badbee...@gmail.com
 wrote:
 
   ** Hey all,
 
   We're running AR System 7.5 patch 004 and we are finding that our
 server
   is eating up memory and not releasing it.  We are in the UAT process
 and
   have roughly 10 testers testing the system.  During this time we've
 noticed
   a huge memory allocation and eventually the arserverd process would
 consume
   2-3 gigs of memory and all the swap space, at which point the machine
 comes
   to it's knees and the process needs to be forcibly killed or the box
 hard
   restarted.
 
   I remember reading somewhere that the AR System doesn't release memory
 for
   large queries, but instead just reuses the memory address space.  Is
 this
   still true for 7.5?  Are there any type of performance configurations
 I can
   add to the ar.conf file to allow the AR System to release the memory
 it
   allocates?  Or to prevent a query from taking all the available memory
 on
   the box?
 
   I thought the AR System used temporary file storage for storaging a
 large
   SQL result?  Our 6.3 AR System stores temporary query result files in
   /var/tmp/ARpen* files, does 7.5 not do the same thing?
 
   I just thought I would ping the list before I open a ticket with BMC
 and
   see if anyone else is seeing a memory leak or has had this problem
 occur to
   them in the past.  Though I'm not sure who all is running the latest
 7.5 AR
   System.
 
   Any help would be appreciated as I'm not sure what BMC will want me to
   look for to determine a memory leak and I don't like to engage them
 without
   some sort of proof that one exists.
 
   Our server specs are the following:
 
   System Configuration: Sun Microsystems  sun4u Sun Fire V210
   System clock frequency: 

Re: Finding memory leaks in the AR System

2010-04-07 Thread patchsk
It is under limited availability and is going through UAT as per our
support rep.
We are expecting around end of this month, but she can not speak for
sure as it depends on their test results.

On Apr 7, 1:52 pm, Robert Halstead badbee...@gmail.com wrote:
 patchsk,

 We do utiize the midtier a lot with our custom applications and tools as
 that is the only cross-platform way to communicate with remedy without using
 their java api.  That would explain a lot actually.  I'll have do some
 testing with our other apps to see if I can replicate in patch 004.  I know
 BMC isn't very forthcoming with their patch schedule, but did they say when
 patch 005 was going to go live?

 Thanks for the heads up though :)





 On Wed, Apr 7, 2010 at 2:47 PM, patchsk vamsi...@gmail.com wrote:
  We have seen memory issues too on Solaris5.10, ARSystem 7.5patch3.
  BMC has found  three memory leaks related  to be caused by webservice
  calls i.e., ARXMLGE api calls after a long investigation. Regular user
  tool we did not see much issues.
  They supposed to fix it with patch005.
  Also libumem worked better for us compared to default memory handler,
  even though they say libumem is only effective for older solaris os.
  After creating a ticket basically BMC has given us a script to log
  server env (prstat,vmstat etc..) at regualar intervals.
  We provided them those logs with remedy api logs and they did the
  investigation based on that.
  We had to fight a lot though to escalate it to server team.

  On Apr 7, 10:27 am, Robert Halstead badbee...@gmail.com wrote:
   Axton,

   Once I have this all setup with libumem and enable the UMEM_DEBUG and
   UMEM_LOGGING environment variables, do I just wait for the leak to occur
  to
   the point where the app crashes?  Does the system produce a core file at
   that point?  Do I then perform the MDB commands on that core file?

   Reading the article on dbx (RTC), it looks like I can connect to the
  running
   program without stopping it but I need to have the Sun Studio installed
  to
   get the dbx program correct?

   On Tue, Apr 6, 2010 at 8:14 PM, Axton axton.gr...@gmail.com wrote:
** Since you are on Solaris/sparc you have some really good options for
seeing if there are memory leaks.  Look into the slab memory allocator
(libumem).

   http://blogs.sun.com/ahl/entry/solaris_10_top_11_20

 http://blogs.sun.com/ahl/entry/solaris_10_top_11_20There are
  actually
performance benefits to using this memory allocator to the standard
  libc
(though it does make the memory footprint slightly larger), but it's
  going
to hard stop your software (sigsegv, sigbus, etc.) in the event nasty
  things
are going on that shouldn't be going on.  Good news is that it tells
  you
what/where if you tell your system to generate a core in the event.

Once you have things running under libumem, you can put some checks on
memory usage (see the following):
UMEM_DEBUG
UMEM_LOGGING

Once you do that, it makes some handy options available in dbx (RTC):
http://www.mail-archive.com/arsl...@arslist.org/msg33614.html
   http://www.fortran-2000.com/ArnaudRecipes/SunMemoryDB.html#SunDbx

You can attach the debugger to the process in flight to check for
  memory
leaks:

   http://technopark02.blogspot.com/2005/10/sun-studio-investigating-mem.
  ..

See here for the high-level gory details.  Pretty cool stuff:
   http://developers.sun.com/solaris/articles/libumem_library.html

Axton Grams

On Tue, Apr 6, 2010 at 4:38 PM, Robert Halstead badbee...@gmail.com
  wrote:

** Hey all,

We're running AR System 7.5 patch 004 and we are finding that our
  server
is eating up memory and not releasing it.  We are in the UAT process
  and
have roughly 10 testers testing the system.  During this time we've
  noticed
a huge memory allocation and eventually the arserverd process would
  consume
2-3 gigs of memory and all the swap space, at which point the machine
  comes
to it's knees and the process needs to be forcibly killed or the box
  hard
restarted.

I remember reading somewhere that the AR System doesn't release memory
  for
large queries, but instead just reuses the memory address space.  Is
  this
still true for 7.5?  Are there any type of performance configurations
  I can
add to the ar.conf file to allow the AR System to release the memory
  it
allocates?  Or to prevent a query from taking all the available memory
  on
the box?

I thought the AR System used temporary file storage for storaging a
  large
SQL result?  Our 6.3 AR System stores temporary query result files in
/var/tmp/ARpen* files, does 7.5 not do the same thing?

I just thought I would ping the list before I open a ticket with BMC
  and
see if anyone else is seeing a memory leak or has had this problem
  occur to
them in the past.  Though I'm not sure who all is running the latest
  7.5 AR

Re: Finding memory leaks in the AR System

2010-04-07 Thread Robert Halstead
Do you see the memory leak on just deneral usage of the midtier?  Or is
there a specific action to replicate? Is this through the mid-tier
interface, or webservice call?

On Wed, Apr 7, 2010 at 3:22 PM, patchsk vamsi...@gmail.com wrote:

 It is under limited availability and is going through UAT as per our
 support rep.
 We are expecting around end of this month, but she can not speak for
 sure as it depends on their test results.

 On Apr 7, 1:52 pm, Robert Halstead badbee...@gmail.com wrote:
  patchsk,
 
  We do utiize the midtier a lot with our custom applications and tools as
  that is the only cross-platform way to communicate with remedy without
 using
  their java api.  That would explain a lot actually.  I'll have do some
  testing with our other apps to see if I can replicate in patch 004.  I
 know
  BMC isn't very forthcoming with their patch schedule, but did they say
 when
  patch 005 was going to go live?
 
  Thanks for the heads up though :)
 
 
 
 
 
  On Wed, Apr 7, 2010 at 2:47 PM, patchsk vamsi...@gmail.com wrote:
   We have seen memory issues too on Solaris5.10, ARSystem 7.5patch3.
   BMC has found  three memory leaks related  to be caused by webservice
   calls i.e., ARXMLGE api calls after a long investigation. Regular user
   tool we did not see much issues.
   They supposed to fix it with patch005.
   Also libumem worked better for us compared to default memory handler,
   even though they say libumem is only effective for older solaris os.
   After creating a ticket basically BMC has given us a script to log
   server env (prstat,vmstat etc..) at regualar intervals.
   We provided them those logs with remedy api logs and they did the
   investigation based on that.
   We had to fight a lot though to escalate it to server team.
 
   On Apr 7, 10:27 am, Robert Halstead badbee...@gmail.com wrote:
Axton,
 
Once I have this all setup with libumem and enable the UMEM_DEBUG and
UMEM_LOGGING environment variables, do I just wait for the leak to
 occur
   to
the point where the app crashes?  Does the system produce a core file
 at
that point?  Do I then perform the MDB commands on that core file?
 
Reading the article on dbx (RTC), it looks like I can connect to the
   running
program without stopping it but I need to have the Sun Studio
 installed
   to
get the dbx program correct?
 
On Tue, Apr 6, 2010 at 8:14 PM, Axton axton.gr...@gmail.com wrote:
 ** Since you are on Solaris/sparc you have some really good options
 for
 seeing if there are memory leaks.  Look into the slab memory
 allocator
 (libumem).
 
http://blogs.sun.com/ahl/entry/solaris_10_top_11_20
 
  http://blogs.sun.com/ahl/entry/solaris_10_top_11_20There are
   actually
 performance benefits to using this memory allocator to the standard
   libc
 (though it does make the memory footprint slightly larger), but
 it's
   going
 to hard stop your software (sigsegv, sigbus, etc.) in the event
 nasty
   things
 are going on that shouldn't be going on.  Good news is that it
 tells
   you
 what/where if you tell your system to generate a core in the event.
 
 Once you have things running under libumem, you can put some checks
 on
 memory usage (see the following):
 UMEM_DEBUG
 UMEM_LOGGING
 
 Once you do that, it makes some handy options available in dbx
 (RTC):
 http://www.mail-archive.com/arsl...@arslist.org/msg33614.html
http://www.fortran-2000.com/ArnaudRecipes/SunMemoryDB.html#SunDbx
 
 You can attach the debugger to the process in flight to check for
   memory
 leaks:
 

 http://technopark02.blogspot.com/2005/10/sun-studio-investigating-mem.
   ..
 
 See here for the high-level gory details.  Pretty cool stuff:
http://developers.sun.com/solaris/articles/libumem_library.html
 
 Axton Grams
 
 On Tue, Apr 6, 2010 at 4:38 PM, Robert Halstead 
 badbee...@gmail.com
   wrote:
 
 ** Hey all,
 
 We're running AR System 7.5 patch 004 and we are finding that our
   server
 is eating up memory and not releasing it.  We are in the UAT
 process
   and
 have roughly 10 testers testing the system.  During this time
 we've
   noticed
 a huge memory allocation and eventually the arserverd process
 would
   consume
 2-3 gigs of memory and all the swap space, at which point the
 machine
   comes
 to it's knees and the process needs to be forcibly killed or the
 box
   hard
 restarted.
 
 I remember reading somewhere that the AR System doesn't release
 memory
   for
 large queries, but instead just reuses the memory address space.
  Is
   this
 still true for 7.5?  Are there any type of performance
 configurations
   I can
 add to the ar.conf file to allow the AR System to release the
 memory
   it
 allocates?  Or to prevent a query from taking all the available
 memory
   on
 the box?
 
 I thought the AR System used temporary file storage for storaging
 a
   

Finding memory leaks in the AR System

2010-04-06 Thread Robert Halstead
Hey all,

We're running AR System 7.5 patch 004 and we are finding that our server is
eating up memory and not releasing it.  We are in the UAT process and have
roughly 10 testers testing the system.  During this time we've noticed a
huge memory allocation and eventually the arserverd process would consume
2-3 gigs of memory and all the swap space, at which point the machine comes
to it's knees and the process needs to be forcibly killed or the box hard
restarted.

I remember reading somewhere that the AR System doesn't release memory for
large queries, but instead just reuses the memory address space.  Is this
still true for 7.5?  Are there any type of performance configurations I can
add to the ar.conf file to allow the AR System to release the memory it
allocates?  Or to prevent a query from taking all the available memory on
the box?

I thought the AR System used temporary file storage for storaging a large
SQL result?  Our 6.3 AR System stores temporary query result files in
/var/tmp/ARpen* files, does 7.5 not do the same thing?

I just thought I would ping the list before I open a ticket with BMC and see
if anyone else is seeing a memory leak or has had this problem occur to them
in the past.  Though I'm not sure who all is running the latest 7.5 AR
System.

Any help would be appreciated as I'm not sure what BMC will want me to look
for to determine a memory leak and I don't like to engage them without some
sort of proof that one exists.

Our server specs are the following:

System Configuration: Sun Microsystems  sun4u Sun Fire V210
System clock frequency: 167 MHZ
Memory size: 4GB

 CPUs

   E$  CPUCPU
CPU  Freq  SizeImplementation MaskStatus
Location
---    --  -  -   --

01002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line MB/P0
11002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line MB/P1

AR System 7.5 patch 004
Apache Tomcat 5.5.28 / Midtier 7.5 patch 004

If you guys need more server specs let me know.  We are trying to replicate
the issue but we are unsure how it happens and don't really know where to
start.

Thanks for the help.

-- 
A fool acts, regardless; knowing well that he is wrong. The ignoramus acts
on only what he knows, but all that he knows.
The ignoramus may be saved, but the fool knows that he is doomed.

Bob Halstead

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are


Re: Finding memory leaks in the AR System

2010-04-06 Thread Rick Cook
Two things:

1)  The memory usage issue is definitely true at the DB level, especially if
you're using SQL.

2)  If this is an AR Server issue, it is one more issue with patch 4 that
has and will keep me from installing it.  Better the devil I know in patch
3...

That being said, pre-allocating idle memory isn't an issue as long as the
application is willing and able to give it back if something else needs it.
SQL allegedly will.  I haven't seen that behavior in AR System.

Rick
On Tue, Apr 6, 2010 at 2:38 PM, Robert Halstead badbee...@gmail.com wrote:

 ** Hey all,

 We're running AR System 7.5 patch 004 and we are finding that our server is
 eating up memory and not releasing it.  We are in the UAT process and have
 roughly 10 testers testing the system.  During this time we've noticed a
 huge memory allocation and eventually the arserverd process would consume
 2-3 gigs of memory and all the swap space, at which point the machine comes
 to it's knees and the process needs to be forcibly killed or the box hard
 restarted.

 I remember reading somewhere that the AR System doesn't release memory for
 large queries, but instead just reuses the memory address space.  Is this
 still true for 7.5?  Are there any type of performance configurations I can
 add to the ar.conf file to allow the AR System to release the memory it
 allocates?  Or to prevent a query from taking all the available memory on
 the box?

 I thought the AR System used temporary file storage for storaging a large
 SQL result?  Our 6.3 AR System stores temporary query result files in
 /var/tmp/ARpen* files, does 7.5 not do the same thing?

 I just thought I would ping the list before I open a ticket with BMC and
 see if anyone else is seeing a memory leak or has had this problem occur to
 them in the past.  Though I'm not sure who all is running the latest 7.5 AR
 System.

 Any help would be appreciated as I'm not sure what BMC will want me to look
 for to determine a memory leak and I don't like to engage them without some
 sort of proof that one exists.

 Our server specs are the following:

 System Configuration: Sun Microsystems  sun4u Sun Fire V210
 System clock frequency: 167 MHZ
 Memory size: 4GB

  CPUs
 
E$  CPUCPU
 CPU  Freq  SizeImplementation MaskStatus
 Location
 ---    --  -  -   --
 
 01002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line MB/P0
 11002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line MB/P1

 AR System 7.5 patch 004
 Apache Tomcat 5.5.28 / Midtier 7.5 patch 004

 If you guys need more server specs let me know.  We are trying to replicate
 the issue but we are unsure how it happens and don't really know where to
 start.

 Thanks for the help.

 --
 A fool acts, regardless; knowing well that he is wrong. The ignoramus acts
 on only what he knows, but all that he knows.
 The ignoramus may be saved, but the fool knows that he is doomed.

 Bob Halstead
 _attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are


Re: Finding memory leaks in the AR System

2010-04-06 Thread Lyle Taylor
Are you making form or workflow changes on that server while users are using 
it?  Are you creating new ITSM Support Groups while other are logged on to the 
system?  Is Development Cache Mode turned off?  If the answer to the last 
question is “yes”, then either of the first two actions will cause the server 
to create a new copy of the workflow/forms cache in memory until the users that 
were logged in during the change log out for a short period.  For example, if 
you create a support group, the server thinks it needs to recache everything, 
so it creates a copy of the current cache for those that are currently logged 
in and then pulls the new one from the server to reflect the changes (or 
something along those lines).  In any case, the result is that you then have 
multiple copies of the cache in memory, which can easily consume all of your 
memory depending on how much workflow you have loaded and how many times it 
pulls a new copy of the cache into memory.

That said, my experience is based on ARS 7.1, but I wouldn’t be surprised if 
it’s essentially the same in 7.5…

Lyle

From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Robert Halstead
Sent: Tuesday, April 06, 2010 3:39 PM
To: arslist@ARSLIST.ORG
Subject: Finding memory leaks in the AR System

** Hey all,

We're running AR System 7.5 patch 004 and we are finding that our server is 
eating up memory and not releasing it.  We are in the UAT process and have 
roughly 10 testers testing the system.  During this time we've noticed a huge 
memory allocation and eventually the arserverd process would consume 2-3 gigs 
of memory and all the swap space, at which point the machine comes to it's 
knees and the process needs to be forcibly killed or the box hard restarted.

I remember reading somewhere that the AR System doesn't release memory for 
large queries, but instead just reuses the memory address space.  Is this still 
true for 7.5?  Are there any type of performance configurations I can add to 
the ar.conf file to allow the AR System to release the memory it allocates?  Or 
to prevent a query from taking all the available memory on the box?

I thought the AR System used temporary file storage for storaging a large SQL 
result?  Our 6.3 AR System stores temporary query result files in 
/var/tmp/ARpen* files, does 7.5 not do the same thing?

I just thought I would ping the list before I open a ticket with BMC and see if 
anyone else is seeing a memory leak or has had this problem occur to them in 
the past.  Though I'm not sure who all is running the latest 7.5 AR System.

Any help would be appreciated as I'm not sure what BMC will want me to look for 
to determine a memory leak and I don't like to engage them without some sort of 
proof that one exists.

Our server specs are the following:

System Configuration: Sun Microsystems  sun4u Sun Fire V210
System clock frequency: 167 MHZ
Memory size: 4GB

 CPUs 
   E$  CPUCPU
CPU  Freq  SizeImplementation MaskStatus  Location
---    --  -  -   --  
01002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line MB/P0
11002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line MB/P1

AR System 7.5 patch 004
Apache Tomcat 5.5.28 / Midtier 7.5 patch 004

If you guys need more server specs let me know.  We are trying to replicate the 
issue but we are unsure how it happens and don't really know where to start.

Thanks for the help.

--
A fool acts, regardless; knowing well that he is wrong. The ignoramus acts on 
only what he knows, but all that he knows.
The ignoramus may be saved, but the fool knows that he is doomed.

Bob Halstead
_attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_


 NOTICE: This email message is for the sole use of the intended recipient(s) 
and may contain confidential and privileged information. Any unauthorized 
review, use, disclosure or distribution is prohibited. If you are not the 
intended recipient, please contact the sender by reply email and destroy all 
copies of the original message.




Re: Finding memory leaks in the AR System

2010-04-06 Thread Robert Halstead
Hi guys,

during the time we had to restart it, I was off on vacation and I'm the only
developer, so I don't believe we were making workflow modifications to the
system, though i'm not too sure..  Development Cache mode is checked on the
Configuration tab so it should not be making a copy of the cache.

On Tue, Apr 6, 2010 at 3:55 PM, Lyle Taylor tayl...@ldschurch.org wrote:

  Are you making form or workflow changes on that server while users are
 using it?  Are you creating new ITSM Support Groups while other are logged
 on to the system?  Is Development Cache Mode turned off?  If the answer to
 the last question is “yes”, then either of the first two actions will cause
 the server to create a new copy of the workflow/forms cache in memory until
 the users that were logged in during the change log out for a short period.
 For example, if you create a support group, the server thinks it needs to
 recache everything, so it creates a copy of the current cache for those that
 are currently logged in and then pulls the new one from the server to
 reflect the changes (or something along those lines).  In any case, the
 result is that you then have multiple copies of the cache in memory, which
 can easily consume all of your memory depending on how much workflow you
 have loaded and how many times it pulls a new copy of the cache into memory.



 That said, my experience is based on ARS 7.1, but I wouldn’t be surprised
 if it’s essentially the same in 7.5…



 Lyle



 *From:* Action Request System discussion list(ARSList) [mailto:
 arsl...@arslist.org] *On Behalf Of *Robert Halstead
 *Sent:* Tuesday, April 06, 2010 3:39 PM
 *To:* arslist@ARSLIST.ORG
 *Subject:* Finding memory leaks in the AR System



 ** Hey all,


 We're running AR System 7.5 patch 004 and we are finding that our server is
 eating up memory and not releasing it.  We are in the UAT process and have
 roughly 10 testers testing the system.  During this time we've noticed a
 huge memory allocation and eventually the arserverd process would consume
 2-3 gigs of memory and all the swap space, at which point the machine comes
 to it's knees and the process needs to be forcibly killed or the box hard
 restarted.

 I remember reading somewhere that the AR System doesn't release memory for
 large queries, but instead just reuses the memory address space.  Is this
 still true for 7.5?  Are there any type of performance configurations I can
 add to the ar.conf file to allow the AR System to release the memory it
 allocates?  Or to prevent a query from taking all the available memory on
 the box?

 I thought the AR System used temporary file storage for storaging a large
 SQL result?  Our 6.3 AR System stores temporary query result files in
 /var/tmp/ARpen* files, does 7.5 not do the same thing?

 I just thought I would ping the list before I open a ticket with BMC and
 see if anyone else is seeing a memory leak or has had this problem occur to
 them in the past.  Though I'm not sure who all is running the latest 7.5 AR
 System.

 Any help would be appreciated as I'm not sure what BMC will want me to look
 for to determine a memory leak and I don't like to engage them without some
 sort of proof that one exists.

 Our server specs are the following:

 System Configuration: Sun Microsystems  sun4u Sun Fire V210
 System clock frequency: 167 MHZ
 Memory size: 4GB

  CPUs
 
E$  CPUCPU
 CPU  Freq  SizeImplementation MaskStatus
 Location
 ---    --  -  -   --
 
 01002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line MB/P0
 11002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line MB/P1

 AR System 7.5 patch 004
 Apache Tomcat 5.5.28 / Midtier 7.5 patch 004

 If you guys need more server specs let me know.  We are trying to replicate
 the issue but we are unsure how it happens and don't really know where to
 start.

 Thanks for the help.

 --
 A fool acts, regardless; knowing well that he is wrong. The ignoramus acts
 on only what he knows, but all that he knows.
 The ignoramus may be saved, but the fool knows that he is doomed.

 Bob Halstead
 _attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_



 NOTICE: This email message is for the sole use of the intended recipient(s)
 and may contain confidential and privileged information. Any unauthorized
 review, use, disclosure or distribution is prohibited. If you are not the
 intended recipient, please contact the sender by reply email and destroy all
 copies of the original message.




-- 
A fool acts, regardless; knowing well that he is wrong. The ignoramus acts
on only what he knows, but all that he knows.
The ignoramus may be saved, but the fool knows that he is doomed.

Bob Halstead

___
UNSUBSCRIBE or access

Re: Finding memory leaks in the AR System

2010-04-06 Thread Robert Halstead
What about queries that have a large result set?  How does the AR System
handle those?

On Tue, Apr 6, 2010 at 4:24 PM, Robert Halstead badbee...@gmail.com wrote:

 Hi guys,

 during the time we had to restart it, I was off on vacation and I'm the
 only developer, so I don't believe we were making workflow modifications to
 the system, though i'm not too sure..  Development Cache mode is checked on
 the Configuration tab so it should not be making a copy of the cache.


 On Tue, Apr 6, 2010 at 3:55 PM, Lyle Taylor tayl...@ldschurch.org wrote:

  Are you making form or workflow changes on that server while users are
 using it?  Are you creating new ITSM Support Groups while other are logged
 on to the system?  Is Development Cache Mode turned off?  If the answer to
 the last question is “yes”, then either of the first two actions will cause
 the server to create a new copy of the workflow/forms cache in memory until
 the users that were logged in during the change log out for a short period.
 For example, if you create a support group, the server thinks it needs to
 recache everything, so it creates a copy of the current cache for those that
 are currently logged in and then pulls the new one from the server to
 reflect the changes (or something along those lines).  In any case, the
 result is that you then have multiple copies of the cache in memory, which
 can easily consume all of your memory depending on how much workflow you
 have loaded and how many times it pulls a new copy of the cache into memory.



 That said, my experience is based on ARS 7.1, but I wouldn’t be surprised
 if it’s essentially the same in 7.5…



 Lyle



 *From:* Action Request System discussion list(ARSList) [mailto:
 arsl...@arslist.org] *On Behalf Of *Robert Halstead
 *Sent:* Tuesday, April 06, 2010 3:39 PM
 *To:* arslist@ARSLIST.ORG
 *Subject:* Finding memory leaks in the AR System



 ** Hey all,


 We're running AR System 7.5 patch 004 and we are finding that our server
 is eating up memory and not releasing it.  We are in the UAT process and
 have roughly 10 testers testing the system.  During this time we've noticed
 a huge memory allocation and eventually the arserverd process would consume
 2-3 gigs of memory and all the swap space, at which point the machine comes
 to it's knees and the process needs to be forcibly killed or the box hard
 restarted.

 I remember reading somewhere that the AR System doesn't release memory for
 large queries, but instead just reuses the memory address space.  Is this
 still true for 7.5?  Are there any type of performance configurations I can
 add to the ar.conf file to allow the AR System to release the memory it
 allocates?  Or to prevent a query from taking all the available memory on
 the box?

 I thought the AR System used temporary file storage for storaging a large
 SQL result?  Our 6.3 AR System stores temporary query result files in
 /var/tmp/ARpen* files, does 7.5 not do the same thing?

 I just thought I would ping the list before I open a ticket with BMC and
 see if anyone else is seeing a memory leak or has had this problem occur to
 them in the past.  Though I'm not sure who all is running the latest 7.5 AR
 System.

 Any help would be appreciated as I'm not sure what BMC will want me to
 look for to determine a memory leak and I don't like to engage them without
 some sort of proof that one exists.

 Our server specs are the following:

 System Configuration: Sun Microsystems  sun4u Sun Fire V210
 System clock frequency: 167 MHZ
 Memory size: 4GB

  CPUs
 
E$  CPUCPU
 CPU  Freq  SizeImplementation MaskStatus
 Location
 ---    --  -  -   --
 
 01002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line
 MB/P0
 11002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line
 MB/P1

 AR System 7.5 patch 004
 Apache Tomcat 5.5.28 / Midtier 7.5 patch 004

 If you guys need more server specs let me know.  We are trying to
 replicate the issue but we are unsure how it happens and don't really know
 where to start.

 Thanks for the help.

 --
 A fool acts, regardless; knowing well that he is wrong. The ignoramus
 acts on only what he knows, but all that he knows.
 The ignoramus may be saved, but the fool knows that he is doomed.

 Bob Halstead
 _attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_



 NOTICE: This email message is for the sole use of the intended
 recipient(s) and may contain confidential and privileged information. Any
 unauthorized review, use, disclosure or distribution is prohibited. If you
 are not the intended recipient, please contact the sender by reply email and
 destroy all copies of the original message.




 --
 A fool acts, regardless; knowing well that he is wrong. The ignoramus acts
 on only what he knows, but all that he knows.
 The ignoramus

Re: Finding memory leaks in the AR System

2010-04-06 Thread nn
Open a ticket with BMC. Just make sure you have ALL the files they will want
or you will wind up playing
volleyball email.
At a minimum: Do a trace on memory usage; You better make the case here. How
long, how fast, etc.
Monitor threads.
Use prstat, truss, whatever debug tools at your disposal. Check the pfiles,
give them filehandle usage.
Capture the memory footprint right before it dies.
Have your ar.conf file ready..



On Tue, Apr 6, 2010 at 4:38 PM, Robert Halstead badbee...@gmail.com wrote:

 ** Hey all,

 We're running AR System 7.5 patch 004 and we are finding that our server is
 eating up memory and not releasing it.  We are in the UAT process and have
 roughly 10 testers testing the system.  During this time we've noticed a
 huge memory allocation and eventually the arserverd process would consume
 2-3 gigs of memory and all the swap space, at which point the machine comes
 to it's knees and the process needs to be forcibly killed or the box hard
 restarted.

 I remember reading somewhere that the AR System doesn't release memory for
 large queries, but instead just reuses the memory address space.  Is this
 still true for 7.5?  Are there any type of performance configurations I can
 add to the ar.conf file to allow the AR System to release the memory it
 allocates?  Or to prevent a query from taking all the available memory on
 the box?

 I thought the AR System used temporary file storage for storaging a large
 SQL result?  Our 6.3 AR System stores temporary query result files in
 /var/tmp/ARpen* files, does 7.5 not do the same thing?

 I just thought I would ping the list before I open a ticket with BMC and
 see if anyone else is seeing a memory leak or has had this problem occur to
 them in the past.  Though I'm not sure who all is running the latest 7.5 AR
 System.

 Any help would be appreciated as I'm not sure what BMC will want me to look
 for to determine a memory leak and I don't like to engage them without some
 sort of proof that one exists.

 Our server specs are the following:

 System Configuration: Sun Microsystems  sun4u Sun Fire V210
 System clock frequency: 167 MHZ
 Memory size: 4GB

  CPUs
 
E$  CPUCPU
 CPU  Freq  SizeImplementation MaskStatus
 Location
 ---    --  -  -   --
 
 01002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line MB/P0
 11002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line MB/P1

 AR System 7.5 patch 004
 Apache Tomcat 5.5.28 / Midtier 7.5 patch 004

 If you guys need more server specs let me know.  We are trying to replicate
 the issue but we are unsure how it happens and don't really know where to
 start.

 Thanks for the help.

 --
 A fool acts, regardless; knowing well that he is wrong. The ignoramus acts
 on only what he knows, but all that he knows.
 The ignoramus may be saved, but the fool knows that he is doomed.

 Bob Halstead

 _attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_


___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are


Re: Finding memory leaks in the AR System

2010-04-06 Thread Axton
Since you are on Solaris/sparc you have some really good options for seeing
if there are memory leaks.  Look into the slab memory allocator (libumem).

http://blogs.sun.com/ahl/entry/solaris_10_top_11_20

http://blogs.sun.com/ahl/entry/solaris_10_top_11_20There are actually
performance benefits to using this memory allocator to the standard libc
(though it does make the memory footprint slightly larger), but it's going
to hard stop your software (sigsegv, sigbus, etc.) in the event nasty things
are going on that shouldn't be going on.  Good news is that it tells you
what/where if you tell your system to generate a core in the event.

Once you have things running under libumem, you can put some checks on
memory usage (see the following):
UMEM_DEBUG
UMEM_LOGGING

Once you do that, it makes some handy options available in dbx (RTC):
http://www.mail-archive.com/arslist@arslist.org/msg33614.html
http://www.fortran-2000.com/ArnaudRecipes/SunMemoryDB.html#SunDbx

You can attach the debugger to the process in flight to check for memory
leaks:
http://technopark02.blogspot.com/2005/10/sun-studio-investigating-memory-leaks.html

See here for the high-level gory details.  Pretty cool stuff:
http://developers.sun.com/solaris/articles/libumem_library.html

Axton Grams

On Tue, Apr 6, 2010 at 4:38 PM, Robert Halstead badbee...@gmail.com wrote:

 ** Hey all,

 We're running AR System 7.5 patch 004 and we are finding that our server is
 eating up memory and not releasing it.  We are in the UAT process and have
 roughly 10 testers testing the system.  During this time we've noticed a
 huge memory allocation and eventually the arserverd process would consume
 2-3 gigs of memory and all the swap space, at which point the machine comes
 to it's knees and the process needs to be forcibly killed or the box hard
 restarted.

 I remember reading somewhere that the AR System doesn't release memory for
 large queries, but instead just reuses the memory address space.  Is this
 still true for 7.5?  Are there any type of performance configurations I can
 add to the ar.conf file to allow the AR System to release the memory it
 allocates?  Or to prevent a query from taking all the available memory on
 the box?

 I thought the AR System used temporary file storage for storaging a large
 SQL result?  Our 6.3 AR System stores temporary query result files in
 /var/tmp/ARpen* files, does 7.5 not do the same thing?

 I just thought I would ping the list before I open a ticket with BMC and
 see if anyone else is seeing a memory leak or has had this problem occur to
 them in the past.  Though I'm not sure who all is running the latest 7.5 AR
 System.

 Any help would be appreciated as I'm not sure what BMC will want me to look
 for to determine a memory leak and I don't like to engage them without some
 sort of proof that one exists.

 Our server specs are the following:

 System Configuration: Sun Microsystems  sun4u Sun Fire V210
 System clock frequency: 167 MHZ
 Memory size: 4GB

  CPUs
 
E$  CPUCPU
 CPU  Freq  SizeImplementation MaskStatus
 Location
 ---    --  -  -   --
 
 01002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line MB/P0
 11002 MHz  1MB SUNW,UltraSPARC-IIIi2.4on-line MB/P1

 AR System 7.5 patch 004
 Apache Tomcat 5.5.28 / Midtier 7.5 patch 004

 If you guys need more server specs let me know.  We are trying to replicate
 the issue but we are unsure how it happens and don't really know where to
 start.

 Thanks for the help.

 --
 A fool acts, regardless; knowing well that he is wrong. The ignoramus acts
 on only what he knows, but all that he knows.
 The ignoramus may be saved, but the fool knows that he is doomed.

 Bob Halstead
 _attend WWRUG10 www.wwrug.com ARSlist: Where the Answers Are_

___
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
attend wwrug10 www.wwrug.com ARSlist: Where the Answers Are