We have a concurrent user base of 500 users, all using CRM UI Webclient. The web client is served via ICM in our SAP CRM 7.0. We noticed that icm process at OS level occupies 40% of CPU constantly.
Following are the basic parameter values of ICM
min threads = 100
max threads = 250
We have used standard SAP note (can't remember it now), to setup these parameters.
We have another system SAP ECC 6.0 EHP4 with the same set of ICM parameters for the same user base (Our CRM users launch ECC 6.0 implicitly via ECCs ICM).
However, we don't see that ICM server maxing its CPU.
Both kernel versions are same, parameter setup is same.
Activity level is high on both servers, yet one server it maxs out CPU. Its pretty confusing.
Has anyone seen this?
Any help is appreciated.
ICM threads helps the ICM to create additional threads on demand. If you see that threads maxed out 250 during peak time, you can raise it to 500.
ERP and CRM differ in functionality.
and adapt the http, pooling and other parameters.
If you can't afford high CPU on CI, you can add dialog instance, and use web dispatcher to distribute the load.
Thanks for your reply, I am aware of this note, this same note was used to setup ICM config on both of our servers ERP and CRM.
Activity wise, our ERP server is more busy for our customer. However CRM (which is less busier) shows this problem of having ICM occupy 40% of the allocated CPU constantly.
Is there anyway we can determine via some stats as to how many ICM threads are being used and at what time?
I am aware of this 'basic' stuff, what I am after is, is it possible to view statistics about thread usage. Is there some way I can determine for e.g. how many threads were being used between 09:00 AM GMT to 10:00 AM GMT
We are running on dynamic CPU configuration. Two CPUs are assigned to our UNIX LPAR, however it is uncapped so it can scale up based on requirement.
However, the desire is to remain within the 2 CPUs.
The only way for us to determine the ICM Threads' usage is
RZ20--> Entire Server--> Instance--> R3services--> ICM --> highlight the number of threads--> on top menu click DISPLAY DETAILS. You might be able to see it hourly details.
I know in the past we had LSO system which had issues with WEB Disp's ICM Threads, but we raised the upper limit to 1000 threads. ICM uses CPU to create and destroy thread. So you can set ICM_MIN and MAX threads to say 500 and restart the ICM to see if this helps.
Thanks for that, I managed to pull that CCMS context into our Solution Manager system and will monitor the rise and fall of threads as to get a better estimate on what is happening in the system and then hopefully arrive at the route cause.
Thanks for your help.
We managed to increase the min and max threads and made sure that its beyond the requirement. That has brought in very small improvement in the overall CPU usage. The problem still exists.
I guess we have to look at other angles like what exactly the server is getting bombarded with. Is there anyway we can figure out how many access ICM is responding to?