| Summary: | On 16 CPU box installer sets 16 thin processes | ||
|---|---|---|---|
| Product: | Red Hat Satellite | Reporter: | Lukas Zapletal <lzap> |
| Component: | Packaging | Assignee: | Lukas Zapletal <lzap> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Katello QA List <katello-qa-list> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.0.0 | CC: | cwelton, gkhachik |
| Target Milestone: | Unspecified | ||
| Target Release: | Unused | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2012-08-22 18:03:11 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | |||
| Bug Blocks: | 747354 | ||
|
Description
Lukas Zapletal
2011-10-27 08:58:06 UTC
d40a607 749495 - installation script process count Pushing one more fix, calculation is now based on number of cpus + 1 and only if it exceeds the recommended number of processes based on total memory, its set to this limit. In the puppet log there are various information shown: notice: Scope(Class[Katello::Params]): CPU count: 4 notice: Scope(Class[Katello::Params]): Thin processes recommendation: 5 notice: Scope(Class[Katello::Params]): Total memory: 2104533975.04 notice: Scope(Class[Katello::Params]): Thin consumes: 230000000 notice: Scope(Class[Katello::Params]): Reserve: 500000000 notice: Scope(Class[Katello::Params]): Maximum processes: 6 notice: Scope(Class[Katello::Params]): Thin processes: 5 In this cenario Thin processes is set to five and server has enough memory to handle even more (6) processes. On a 16 core machine with less memory Thin processess should not be set to 17, but lower number. 2e8e28b 749495 - fix for the total memory calculation Please CLOSE this one https://bugzilla.redhat.com/show_bug.cgi?id=745652#c12 so seems the approach is: <snip> floor ( ((total_mem - reserve) / (cpu_count * 250m)) ) where reserve should be some decent amount of mermory allocated for non-thin processes (something like total_mem / 4). </snip> version of packages: katello-0.1.117-1.el6.x86_64 I have modified the original equotation (from the mail).
Its defined here:
puppet/lib/puppet/parser/functions/katello_process_count.rb
max_processes = (((total_mem - reserve) / consumes)).floor
So again, the process count is:
CPU COUNT + 1 (IF ENOUGH MEMORY)
Can be less. See the output of puppet main.log:
^[[0;36mnotice: Scope(Class[Katello::Params]): CPU count: 4^[[0m
^[[0;36mnotice: Scope(Class[Katello::Params]): Thin processes recommendation: 5^[[0m
^[[0;36mnotice: Scope(Class[Katello::Params]): Total memory: 4015794421.76^[[0m
^[[0;36mnotice: Scope(Class[Katello::Params]): Thin consumes: 230000000^[[0m
^[[0;36mnotice: Scope(Class[Katello::Params]): Reserve: 500000000^[[0m
^[[0;36mnotice: Scope(Class[Katello::Params]): Maximum processes: 15^[[0m
^[[0;36mnotice: Scope(Class[Katello::Params]): Thin processes: 5^[[0m
In your case its 4 CPU box, 5 processes have been set. Maximum recommended processes that this box memory could hold is 15. I don't think it make sense to set more thin processes than CPU + 1 count. Ruby is slow.
then ON_QA thanks Lukas for details there. and - verified. Also note docs bug #795873 that arose from this. |