Here is the entries from thread log;

<THRD> /* Wed Feb 25 2009 05:16:37.8330 */ Thread Trace Log -- ON (AR Server 
7.1.00 Patch 005 200809150630)

<THRD> /* Wed Feb 25 2009 05:22:15.5140 */ InitServerCache Begin

<THRD> /* Wed Feb 25 2009 05:22:29.0760 */ FreeServerCache: rpcCallProc=10004 
user="Remedy Application Service" tid=3076 rpcId=390600

<THRD> /* Wed Feb 25 2009 05:22:29.3260 */ Thread Id 3076 (thread number   1) 
on ADMIN queue died.

<THRD> /* Wed Feb 25 2009 05:22:29.3260 */ Thread Id 4600 (thread number   1) 
on ADMIN queue restarted.

<THRD> /* Wed Feb 25 2009 05:32:15.5020 */ InitServerCache Begin

<THRD> /* Wed Feb 25 2009 05:32:28.7990 */ FreeServerCache: rpcCallProc=10004 
user="Remedy Application Service" tid=4600 rpcId=390600

<THRD> /* Wed Feb 25 2009 05:32:29.0490 */ Thread Id 4600 (thread number   1) 
on ADMIN queue died.

<THRD> /* Wed Feb 25 2009 05:32:29.0490 */ Thread Id 5916 (thread number   1) 
on ADMIN queue restarted.

 

 

Regards,

Anthony

 

From: Rathnappa, Anthony 
Sent: Wednesday, February 25, 2009 4:57 PM
To: arslist@ARSLIST.ORG
Subject: RE: ARS 7.1 server group issue

 

I have verified the boot.ini file has /3G switch. Also using ‘dumpbin’ tool I 
got confirmed that arserver can address more than 2GB.

After startup the memory consumed is ~1.3GB, as shown in Task Manager. This is 
still a pre-prod env, so there are no users.

 

In the Dev env, I had used ;CopyCache Begin’ flag, where the log showed only 
‘CopyCache Begin:’ but no ‘CopyCache End’

 

Will enable both flags and update you.

 

Thanks,

Anthony

 

From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Walters, Mark
Sent: Wednesday, February 25, 2009 1:46 PM
To: arslist@ARSLIST.ORG
Subject: Re: ARS 7.1 server group issue

 

By default the maximum memory arserver can access on 32-bit Windows is 2GB.  If 
it tries to grow beyond this then it will fail.  This is an OS limitation that 
can be changed to 3GB by the addition of the /3GB switch to the appropriate 
line in the boot.ini file.  See 
http://www.microsoft.com/whdc/system/platform/server/PAE/PAEmem.mspx and many 
of the other pages returned by a Google for “windows 3gb boot.ini”.

 

The arserver is compiled with the large address aware flag that enables it to 
make use of the additional 1GB of RAM provided by this switch. 

 

However, I’d be interested to understand why your arserver process is getting 
so large that it is reaching the 2GB limit.  How much memory does arserver.exe 
consume after startup – at the point that users can login?  How many concurrent 
users?  The initial size of the process is largely determined by the amount of 
forms and workflow that you have on the system as these are all read in to the 
server to create the cache.  If you have  a full ITSM system with multiple 
language packs the initial size could be in excess of 700MB.  Once it is up and 
running the server will increase in size as it allocates memory to handle it’s 
day-to-day work – processing query results and so on.  One of the advantages of 
the Windows platform is that once the server releases the memory it is returned 
to the OS and the footprint should shrink again.  If the maximum process size 
(2 or 3 GB depending on the flag above) minus the current size or arserverd is 
LESS than the startup size a recache operation is likely to fail.

 

Things that you could do;

 

·         Enable the /3GB option

·         If your startup size is very large look to remove unused views, 
forms, workflow from the system

·         Set Large-Result-Logging-Threshold: 100000 in ar.cfg and enable 
thread logging on the secondary servers – this will show you if you have users 
running queries returning large datasets and consuming memory.  

·         Set Copy-Cache-Logging: T too – this will record the recache 
operations in the thread log.  You want to make sure that you see the 
freeservercache that indicates that the server has released the original copy 
of the cache.  If you have long running API calls it is possible for the server 
to end up with more than 2 copies of the cache – if this is a large cache you 
can very quickly hit the memory limit.

Eg This is bad – multiple copies – you want to see a begin, end and free before 
the next begin.

CopyCache Begin: rpcCallProc=10002 user="Remedy Application Service" tid=5 
rpcId=0

CopyCache End

CopyCache Begin: rpcCallProc=10002 user="Remedy Application Service" tid=5 
rpcId=0

CopyCache End

FreeServerCache: rpcCallProc=10018 user="Remedy Application Service" tid=5 
rpcId=1178442632

 

Incidentally, if you have are using 64-bit Windows I believe the maximum size 
of a large address aware enabled 32-bit application is 4GB by default - 
http://msdn.microsoft.com/en-us/library/ms791558.aspx

 

Mark Walters

 

The opinions, statements, and/or suggested courses of action expressed in this 
E-mail do not necessarily reflect those of BMC Software, Inc.  My voluntary 
participation in this forum is not intended to convey a role as a spokesperson, 
liaison or support representative for BMC Software, Inc.

 

 

From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Anthony K R
Sent: 25 February 2009 07:17
To: arslist@ARSLIST.ORG
Subject: Re: ARS 7.1 server group issue

 

Joe,

 

The chunk setting should not cause malloc error. There is no timeout issue 
either.

 

Today I saw memory consumption report when the recache triggered on secondary 
servers. It is crossing 2GB before the malloc error, a memory limitation on OS 
or arserver process?

 

 

Regards,

Anthony

 

 

 

From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Joe DeSouza
Sent: Wednesday, February 25, 2009 7:50 AM
To: arslist@ARSLIST.ORG
Subject: Re: ARS 7.1 server group issue

 

** 

Its a known issue where ARS on Windows connected to a Remote Oracle database, 
takes forever to recache and that it takes forever to restart if the services 
have been stopped and is restarted. This is because of the way that data is 
read in chunks of 100 rows. It is as designed and Remedy has nothing to do with 
the design as its more how the Oracle client communicates to remote oracle 
databases when the client is on Windows..

 

I didn't experience the kinds of problems you are talking about on UNIX ARS 
Servers connected to remote Oracle databases.

 

So I guessed your configurations by the symptoms you described. Unfortunately 
you got to live with it unless you decide to move to UNIX.

 

Joe

 

________________________________

From: Lyle Taylor <tayl...@ldschurch.org>
To: arslist@ARSLIST.ORG
Sent: Tuesday, February 24, 2009 6:02:40 PM
Subject: Re: ARS 7.1 server group issue

Correct……

 

From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Joe DeSouza
Sent: Tuesday, February 24, 2009 3:20 PM
To: arslist@ARSLIST.ORG
Subject: Re: ARS 7.1 server group issue

 

** 

Your AR Servers are probably on windows and connect to Oracle setup as a Remote 
database?

 

Joe

 

________________________________

From: Lyle Taylor <tayl...@ldschurch.org>
To: arslist@ARSLIST.ORG
Sent: Tuesday, February 24, 2009 4:27:56 PM
Subject: Re: ARS 7.1 server group issue

** 

I see server groups as being more useful for load balancing and redundancy.  
While you can indeed have users on the other systems while you perform the 
updates, the other servers become nearly unusable as the cache updates, 
especially for anything other than very minor changes.  I’ve simply had less 
issues if I simply bring down the other servers during the changes and then 
bring them back up again after.  In my experience, that actually provides a 
better user experience, because knowing that it’s down for a short time is 
easier to deal with than extremely slow performance during a cache update.

 

Lyle

 

From:

Reply via email to