[rudder-users] CPU load on the server

Olivier Desport olivier.desport at ac-versailles.fr
Wed Apr 17 14:24:22 CEST 2013





Le 17/04/2013 14:00, Nicolas Charles a écrit :
> On 17/04/2013 12:33, Olivier Desport wrote:
>>
>> Le 17/04/2013 12:28, Matthieu CERDA a écrit :
>>> Le 17/04/2013 12:22, Olivier Desport a écrit :
>>>> Hello,
>>>>
>>>> Since I've migrated to the 2.5.1release-squeeze0 version the cpu 
>>>> load of cf-agent on the Rudder server is very high :
>>>>
>>>>   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+ COMMAND
>>>>  8128 root      20   0 35720 4780 2864 R   50  0.0   8:12.29 cf-agent
>>>>  9912 root      20   0 35724 4780 2864 R   50  0.0   2:19.35 cf-agent
>>>>  7143 root      20   0 49572  12m 2924 R   25  0.1  13:18.39 cf-agent
>>>>  7304 root      20   0 35720 4776 2864 R   25  0.0   7:29.65 cf-agent
>>>> 10749 root      20   0 35720 4776 2864 R   25  0.0   0:03.61 cf-agent
>>>>  9015 root      20   0 35720 4776 2864 R   25  0.0   4:23.80 cf-agent
>>>>
>>>> Therefore, the server is very slow. Can you help me please ?
>>>>
>>>>
>>>> -- 
>>>>
>>>>
>>>> 	*Olivier DESPORT
>>>> *Infrastructures Tice
>>>> DSI
>>>>
>>>> Tél : 01 30 83 52 92
>>>> Tcp. 01 30 83 48 46
>>>> Rectorat de Versailles . 3 boulevard de Lesseps . 78017 Versailles 
>>>> cedex .
>>>>  http://www.ac-versailles.fr 
>>>> <cid:part2.00090308.02000409 at ac-versailles.fr>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> rudder-users mailing list
>>>> rudder-users at lists.rudder-project.org
>>>> http://www.rudder-project.org/mailman/listinfo/rudder-users
>>>
>>> Hello Olivier,
>>>
>>> Can you please try a "ps -faux" to have a complete process tree of 
>>> every cf-agent ? It will help us to debug this problem.
>>>
>>> Thanks in advance,
>>> Regards,
>>> -- 
>>> ------------------------------------------------------------------------
>>> *Matthieu CERDA*
>>> /Administrateur - Systèmes et Réseaux/
>>> Normation <http://www.normation.com>
>>> ------------------------------------------------------------------------
>>> *87 rue de Turbigo, 75003 Paris, France*
>>> Telephone: 	+33 (0)1 84 16 06 01
>>> ------------------------------------------------------------------------
>>>
>> Here is `ps -faux` output :
>>
>> root     25908  0.4  0.0 190276  6644 ?        Ssl  Apr15  12:25 
>> /var/rudder/cfengine-community/bin/cf-serverd
>> root     25939  0.0  0.0 147280  4292 ?        Ssl  Apr15   0:07 
>> /var/rudder/cfengine-community/bin/cf-execd
>> root     12641  0.0  0.0   3956   584 ?        S    12:26 0:00  \_ sh 
>> -c "/var/rudder/cfengine-community/bin/cf-agent" -f failsafe.cf && 
>> "/var/rudder/cfengine-community/bin/cf-agent" -Dfrom_cfexecd
>> root     12890 96.5  0.0  49576 12600 ?        Rs   12:27 4:31  |   
>> \_ /var/rudder/cfengine-community/bin/cf-agent -Dfrom_cfexecd
>> root     13726  0.0  0.0   3956   580 ?        S    12:30 0:00  \_ sh 
>> -c "/var/rudder/cfengine-community/bin/cf-agent" -f failsafe.cf && 
>> "/var/rudder/cfengine-community/bin/cf-agent" -Dfrom_cfexecd
>> root     13727 95.6  0.0  35724  4780 ?        Rs   12:30 1:02      
>> \_ /var/rudder/cfengine-community/bin/cf-agent -f failsafe.cf
>>
>
> Hi Olivier,
>
> That's unfortunate, as it does't give much details on what could go slow.
> Could you send us the output of the 
> /var/rudder/cfengine-community/bin/cf-agent -v  ? (you may want to 
> edit this output, as it may contain sensitive information like 
> hostname, ip, text contents, etc)
>
> Thanks !
> Nicolas
>
>

/var/rudder/cfengine-community/bin/cf-agent -v :


cf3> Cfengine - autonomous configuration engine - commence 
self-diagnostic prelude
cf3> 
------------------------------------------------------------------------
cf3> Work directory is /var/rudder/cfengine-community
cf3> Making sure that locks are private...
cf3> Checking integrity of the state database
cf3> Checking integrity of the module directory
cf3> Checking integrity of the PKI directory
cf3> Looking for a source of entropy in 
/var/rudder/cfengine-community/randseed
cf3>  -> Loaded private key 
/var/rudder/cfengine-community/ppkeys/localhost.priv
cf3>  -> Loaded public key 
/var/rudder/cfengine-community/ppkeys/localhost.pub
cf3> Setting cfengine default port to 5308 = 5308
cf3> Reference time set to Wed Apr 17 14:15:04 2013
cf3> CFEngine Core 3.2.4
cf3> 
------------------------------------------------------------------------
cf3> Host name is: celebrimbor
cf3> Operating System Type is linux
cf3> Operating System Release is 2.6.32-5-amd64
cf3> Architecture = x86_64
cf3> Using internal soft-class linux for host celebrimbor
cf3> The time is now Wed Apr 17 14:15:04 2013
cf3> 
------------------------------------------------------------------------
cf3> # Extended system discovery is only available in version Nova and above
cf3> Additional hard class defined as: 64_bit
cf3> Additional hard class defined as: linux_2_6_32_5_amd64
cf3> Additional hard class defined as: linux_x86_64
cf3> Additional hard class defined as: linux_x86_64_2_6_32_5_amd64
cf3> GNU autoconf class from compile time: compiled_on_linux_gnu
cf3> Address given by nameserver: <ip_adress>
cf3> Interface 1: lo
cf3> Interface 2: eth0
cf3> Adding alias celebrimbor..
cf3> Trying to locate my IPv6 address
cf3> Found IPv6 address xxxxxxxxxxxxxxxxxxxxxxxxx
cf3> Looking for environment from cf-monitord...
cf3> Unable to detect environment from cf-monitord
cf3> This appears to be a debian system.
cf3> Looking for Debian version...
cf3> This appears to be a Debian 6.0 system.
cf3> This system seems to have the aptitude package system
cf3> ***********************************************************
cf3>  Loading persistent classes
cf3> ***********************************************************
cf3> ***********************************************************
cf3>  Loaded persistent memory
cf3> ***********************************************************
cf3>  -> Found a policy server (hub) on 127.0.0.1
cf3>  -> Policy is already validated
cf3>   > Parsing file /var/rudder/cfengine-community/inputs/promises.cf
cf3> Initiate variable convergence...
cf3>  -> Checking common class promises...
cf3>  ?> defining additional global class policy_server
cf3>  ?> defining additional global class root_server
cf3>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/common/1.0/cf-served.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/common/1.0/cfengine_stdlib.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/common/1.0/rudder_lib.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/common/1.0/rudder_stdlib.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/common/1.0/process_matching.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/common/1.0/internal_security.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/common/1.0/e2s_activation.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/common/1.0/update.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  ?> defining additional global class disable_agent
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/inventory/1.0/fetchFusionTools.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/inventory/1.0/virtualMachines.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/inventory/1.0/fusionAgent.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/distributePolicy/1.0/propagatePromises.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/distributePolicy/1.0/rsyslogConf.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/distributePolicy/1.0/initCheck.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/distributePolicy/1.0/postgresCheck.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/distributePolicy/1.0/logrotateCheck.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/distributePolicy/1.0/integrityCheck.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/distributePolicy/1.0/networkCheck.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/distributePolicy/1.0/aliveCheck.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>  -> Checking common class promises...
rudder>   > Parsing file 
/var/rudder/cfengine-community/inputs/distributePolicy/1.0/passwordCheck.cf
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>  -> Checking common class promises...
rudder>  -> getfields: defining psql_password[1] = RUDDER_PSQL_PASSWORD
rudder>  -> getfields: defining psql_password[2] = xxxxxxxxxxxxxx
rudder>  -> getfields: defining ldap_password[1] = 
RUDDER_OPENLDAP_BIND_PASSWORD
rudder>  -> getfields: defining ldap_password[2] = xxxxxxxxxxxx
rudder>  -> getfields: defining psql_pass[1] = RUDDER_PSQL_PASSWORD
rudder>  -> getfields: defining psql_pass[2] = xxxxxxxxxxxxx
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>  -> Checking common class promises...
rudder>  -> getfields: defining psql_password[1] = RUDDER_PSQL_PASSWORD
rudder>  -> getfields: defining psql_password[2] = xxxxxxxxxxxxxxxxxxx
rudder>  -> getfields: defining ldap_password[1] = 
RUDDER_OPENLDAP_BIND_PASSWORD
rudder>  -> getfields: defining ldap_password[2] = xxxxxxxxxx
rudder>  -> getfields: defining psql_pass[1] = RUDDER_PSQL_PASSWORD
rudder>  -> getfields: defining psql_pass[2] = xxxxxxxxxxxxxxxx
rudder> # Knowledge map reporting feature is only available in version 
Nova and above
rudder>  -> Defined classes = { 172_31_136_121 64_bit Afternoon April 
Day17 GMT_Hr12 Hr14 Hr14_Q2 Lcycle_0 Min15 Min15_20 
PK_MD5_e62a434c299e2a92117259118d577a12 Q2 Wednesday Yr2013 
ac_versailles_fr agent any celebrimbor celebrimbor_in_ac_versailles_fr 
cfengine cfengine_3 cfengine_3_2 cfengine_3_2_4 community_edition 
compiled_on_linux_gnu debian debian_6 debian_6_0 debian_6_0__n__l 
disable_agent fe80__783e_84ff_fe94_edbd fr have_aptitude 
in_ac_versailles_fr ipv4_172 ipv4_172_31 ipv4_172_31_136 
ipv4_172_31_136_121 linux linux_2_6_32_5_amd64 linux_x86_64 
linux_x86_64_2_6_32_5_amd64 
linux_x86_64_2_6_32_5_amd64__1_SMP_Mon_Feb_25_00_26_11_UTC_2013 
net_iface_eth0 policy_server root_server verbose_mode x86_64 }
rudder>  -> Negated Classes = { }
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/distributePolicy/1.0/passwordCheck.cf 
at/before line 298
rudder>  -> getfields: defining psql_password[1] = RUDDER_PSQL_PASSWORD
rudder>  -> getfields: defining psql_password[2] = xxxxxxxxxxxxxxxx
rudder>  -> getfields: defining ldap_password[1] = 
RUDDER_OPENLDAP_BIND_PASSWORD
rudder>  -> getfields: defining ldap_password[2] = xxxxxxxxxxxxxxxxxxxxx
rudder>  -> getfields: defining psql_pass[1] = RUDDER_PSQL_PASSWORD
rudder>  -> getfields: defining psql_pass[2] = xxxxxxxxxxxxxxxxxx
rudder> Initiate variable convergence...
rudder>  -> Checking common class promises...
rudder>  -> Checking common class promises...
rudder>  !! Duplicate selection of value for variable "execRun" in scope g
rudder>  !! Rule from 
/var/rudder/cfengine-community/inputs/common/1.0/site.cf at/before line 58
rudder>  -> Checking common class promises...
rudder>  -> getfields: defining psql_password[1] = RUDDER_PSQL_PASSWORD
rudder>  -> getfields: defining psql_password[2] = xxxxxxxxxxxxxxxx
rudder>  -> getfields: defining ldap_password[1] = 
RUDDER_OPENLDAP_BIND_PASSWORD
rudder>  -> getfields: defining ldap_password[2] = xxxxxxxxxxxxx
rudder>  -> getfields: defining psql_pass[1] = RUDDER_PSQL_PASSWORD
rudder>  -> getfields: defining psql_pass[2] = xxxxxxxxxx
rudder>  -> Immunizing against parental death
rudder> SET ifelapsed = 1
rudder> SET environment variables from ...
rudder> SET Abort classes from ...
rudder> SET Syslog FACILITY = LOG_LOCAL6
rudder> SET repository = /var/rudder/modified-files
rudder> -> Bundlesequence => 
{'startExecution','clean_red_button','update','set_red_button','internal_security','check_red_button_status','process_matching','check_cf_processes','check_cron_daemon','garbage_collection','check_binaries_freshness','check_log_system','e2s_enable','check_uuid','fetchFusionTools','virtualMachines','doInventory','setup_debian_backports','install_rsyslogd','propagatePromises','root_init_check','root_postgres_check','root_logrotate_check','root_integrity_check','root_networks_check','root_alive_check','root_password_check_file','root_password_check_ldap','root_password_check_psql','root_password_check_dav','root_password_restart_jetty','sendInventoryToCmdb','endExecution'}
rudder>
rudder> *****************************************************************
rudder> BUNDLE startExecution
rudder> *****************************************************************
rudder>
rudder>
rudder>      +  Private classes augmented:
rudder>
rudder>      -  Private classes diminished:
rudder>
rudder>
rudder>
rudder> =========================================================
rudder>    reports in bundle startExecution (1)
rudder> =========================================================
rudder>


The command still runs and the outup hangs on this last line.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.rudder-project.org/pipermail/rudder-users/attachments/20130417/67f97cef/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 2372 bytes
Desc: not available
URL: <http://www.rudder-project.org/pipermail/rudder-users/attachments/20130417/67f97cef/attachment-0001.jpe>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 3503 bytes
Desc: not available
URL: <http://www.rudder-project.org/pipermail/rudder-users/attachments/20130417/67f97cef/attachment-0001.png>


More information about the rudder-users mailing list