on 2023 Dec 22 3:07 AM
In SAP note 2222250, there is an explaination regarding parameter "max_concurrency" like this:
"If each active job worker currently consumes less than 100 % CPU, more job workers than the max_concurrency value can be activated. The defined number of logical CPUs may be exceeded if the active job workers increase their CPU consumption over time."
Here are what I don't understand:
1.What does "less than 100 % CPU" mean?
2.Maybe each job worker consumes less than 100% CPU, but what about the total? If the sum of the consumption is reaching 100%, will the system still activate new job worker?
3.And what is "The defined number of logical CPUs"? Is it the value we configure in max_concurrency?
I know that SAP does not suggest us to modify this parameter and I do not intend to do so. I'm just curious about the statement I quoted above.
Thanks.
Request clarification before answering.
Hello Ying,
'1.What does "less than 100 % CPU" mean?'
So the User CPU (HANA process consumers) combined with the System CPU (Operating system processes also consume CPU outside of the HANA process)
'2.Maybe each job worker consumes less than 100% CPU, but what about the total? If the sum of the consumption is reaching 100%, will the system still activate new job worker?'
No the FREE_WORKER_COUNT will likely go to 0 and the number of concurrently running threads will remain static according to the number of cpu_cores on the system.
Concurrency controls and worker threads are explained further in M_JOBEXECUTORS
MAX_CONCURRENCY
Displays the maximum number of concurrently running worker threads.
The job executor keeps MAX_CONCURRENCY worker threads busy. As a result, more worker threads are started if some worker threads are in a wait state for some time. Even if these additional worker threads are terminated, some of them are kept for later use and counted in PARKED_WORKER_COUNT.
TOTAL_WORKER_COUNT
Displays the total number of worker threads, including one extra worker thread for emergency diagnostic purposes.
PARKED_WORKER_COUNT
Displays the number of parked worker threads.
FREE_WORKER_COUNT
Displays the total number of worker threads that are idle and may immediately take up a job to work on.
'3.And what is "The defined number of logical CPUs"? Is it the value we configure in max_concurrency?'
These are the total number of cpu cores available on the physical server and to the HANA process and can be determined by checking the number of "cpu_threads" as per M_HOST_INFORMATION view
Kind Regards
Simon
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
74 | |
30 | |
9 | |
7 | |
7 | |
6 | |
6 | |
4 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.