Difference between revisions of "Client configuration"

From BOINC Wiki
Jump to: navigation, search
(giving warning)
(Log flags explanations: removing New in -version-)
Line 76: Line 76:
 
Show details of coprocessor (GPU) scheduling. New in 6.3<br>
 
Show details of coprocessor (GPU) scheduling. New in 6.3<br>
 
'''&lt;cpu_sched&gt;'''
 
'''&lt;cpu_sched&gt;'''
CPU scheduler actions (preemption and resumption) <br>
+
CPU scheduler actions (pausing and resuming of tasks, which applications start) <br>
 
'''&lt;cpu_sched_debug&gt;'''
 
'''&lt;cpu_sched_debug&gt;'''
 
Explain CPU scheduler decisions <br>
 
Explain CPU scheduler decisions <br>
Line 82: Line 82:
 
This tells you what is running, although it won't tell you why.<br>
 
This tells you what is running, although it won't tell you why.<br>
 
'''&lt;dcf_debug&gt;'''
 
'''&lt;dcf_debug&gt;'''
When enabled it shows the calculation of the duration correction factor per project. New in 6.6.10<br>
+
When enabled it shows the calculation of the duration correction factor per project.<br>
 
'''&lt;debt_debug&gt;'''
 
'''&lt;debt_debug&gt;'''
 
Changes to project debt. Is deprecated in BOINC 7.0 and above. See &lt;priority_debug&gt; <br>
 
Changes to project debt. Is deprecated in BOINC 7.0 and above. See &lt;priority_debug&gt; <br>
 
'''&lt;disk_usage_debug&gt;'''
 
'''&lt;disk_usage_debug&gt;'''
Show projects' disk share (based on resource share). New in 7.0.8<br>
+
Show projects' disk share (based on resource share).<br>
 
'''&lt;file_xfer_debug&gt;'''
 
'''&lt;file_xfer_debug&gt;'''
 
Show completion status of file transfers <br>
 
Show completion status of file transfers <br>
'''&lt;guirpc_debug&gt;'''
+
'''&lt;gui_rpc_debug&gt;'''
'''&lt;gui_rpc_debug&gt;''' (As per 6.11+)
 
 
Debugging information about GUI RPC operations <br>
 
Debugging information about GUI RPC operations <br>
 
'''&lt;http_debug&gt;'''
 
'''&lt;http_debug&gt;'''
Line 101: Line 100:
 
Network status (whether need physical connection). <br>
 
Network status (whether need physical connection). <br>
 
'''&lt;notice_debug&gt;'''
 
'''&lt;notice_debug&gt;'''
Shows debug messages on why News messages do not work. New in 6.11+<br>
+
Shows debug messages on why News messages do not work. <br>
 
'''&lt;poll_debug&gt;'''
 
'''&lt;poll_debug&gt;'''
 
Show what poll functions do <br>
 
Show what poll functions do <br>
Line 111: Line 110:
 
Results of the round-robin simulation used by CPU scheduler and work-fetch <br>
 
Results of the round-robin simulation used by CPU scheduler and work-fetch <br>
 
'''&lt;sched_op_debug&gt;'''
 
'''&lt;sched_op_debug&gt;'''
Details of scheduler RPCs; also shows deferral intervals and other low info. New in 5.10.24 <br>
+
Details of scheduler RPCs; also shows deferral intervals and other low info.<br>
 
'''&lt;scrsave_debug&gt;'''
 
'''&lt;scrsave_debug&gt;'''
 
Debugging information about the screen saver. <br>
 
Debugging information about the screen saver. <br>
 
'''&lt;slot_debug&gt;'''
 
'''&lt;slot_debug&gt;'''
Prints messages about allocation of slots, creating/removing files in slot dirs. New in 6.6.31<br>
+
Prints messages about allocation of slots, creating/removing files in slot dirs.<br>
 
'''&lt;state_debug&gt;'''
 
'''&lt;state_debug&gt;'''
 
Show summary of client state after scheduler RPC and garbage collection; also show  garbage collection actions, and when state file is read/written. <br>
 
Show summary of client state after scheduler RPC and garbage collection; also show  garbage collection actions, and when state file is read/written. <br>
 
'''&lt;statefile_debug&gt;'''
 
'''&lt;statefile_debug&gt;'''
Show when and why state file is written. New in 6.6.18<br>
+
Show when and why state file is written.<br>
 
'''&lt;std_debug&gt;'''
 
'''&lt;std_debug&gt;'''
 
Log changes in Short Term Debt. Is deprecated in BOINC 7.0 and above.<br>
 
Log changes in Short Term Debt. Is deprecated in BOINC 7.0 and above.<br>
 
'''&lt;suspend_debug&gt;'''
 
'''&lt;suspend_debug&gt;'''
Show details of processing and network suspend/resume. New in 7.0.27<br>
+
Show details of processing and network suspend/resume.<br>
 
'''&lt;task_debug&gt;'''
 
'''&lt;task_debug&gt;'''
 
Low-level details of process start/end (status codes, PIDs etc.), and when applications checkpoint. <br>
 
Low-level details of process start/end (status codes, PIDs etc.), and when applications checkpoint. <br>
Line 129: Line 128:
 
Updates to on_frac, active_frac, connected_frac. <br>
 
Updates to on_frac, active_frac, connected_frac. <br>
 
'''&lt;trickle_debug&gt;'''
 
'''&lt;trickle_debug&gt;'''
Details of trickles. New in 6.13.6<br>
+
Details of trickles. <br>
 
'''&lt;unparsed_xml&gt;'''
 
'''&lt;unparsed_xml&gt;'''
 
Show any unparsed XML <br>
 
Show any unparsed XML <br>
 
'''&lt;work_fetch_debug&gt;'''
 
'''&lt;work_fetch_debug&gt;'''
 
Work fetch policy decisions<br>
 
Work fetch policy decisions<br>
 
  
 
== <options> ==
 
== <options> ==

Revision as of 15:43, 27 October 2016

Below is an example of cc_config.xml, split in the <log_flags> and <options> sections. By showing where the <log_flags> and <options> go in each section, you ought to be able to know where goes what when you make your cc_config.xml file. When saving with a text editor, make sure you save as "All types" and in ANSI format. That way the editor won't auto-add a TXT extension and the file will be readable by BOINC.

BOINC 7.6 notes

BOINC 7.6 has an option to write and edit the cc_config.xml file through the GUI, for the Log Flags section only. However, it will write a fully populated cc_config.xml file, including all the Options set to their default setting. Any changes you make therein will be kept with further writes.
However, cc_config.xml is primarily used for debugging BOINC.
By enabling these flags BOINC writes specific information both to the Messages tab/Event Log, to stdoutdae.txt and with the output of some flags being lots of information per second, this means this file will quickly fill.

<log_flags>

<cc_config>
  <log_flags>
      <app_msg_receive>0|1</app_msg_receive>
      <app_msg_send>0|1</app_msg_send>
      <benchmark_debug>0|1</benchmark_debug>
      <checkpoint_debug>0|1</checkpoint_debug> 
      <coproc_debug>0|1</coproc_debug>
      <cpu_sched>0|1</cpu_sched>
      <cpu_sched_debug>0|1</cpu_sched_debug>
      <cpu_sched_status>0|1</cpu_sched_status>
      <dcf_debug>0|1</dcf_debug>
      <debt_debug>0|1</debt_debug>
      <disk_usage_debug>0|1</disk_usage_debug>
      <file_xfer>0|1</file_xfer>
      <file_xfer_debug>0|1</file_xfer_debug>
      <guirpc_debug>0|1</guirpc_debug>
      <gui_rpc_debug>0|1</gui_rpc_debug> (As per 6.11+)
      <http_debug>0|1</http_debug>
      <http_xfer_debug>0|1</http_xfer_debug>
      <notice_debug>0|1</notice_debug>
      <mem_usage_debug>0|1</mem_usage_debug>
      <network_status_debug>0|1</network_status_debug>
      <poll_debug>0|1</poll_debug>
      <priority_debug>0|1</priority_debug>
      <proxy_debug>0|1</proxy_debug>
      <rr_simulation>0|1</rr_simulation>
      <sched_ops>0|1</sched_ops>
      <sched_op_debug>0|1</sched_op_debug>
      <scrsave_debug>0|1</scrsave_debug>
      <slot_debug>0|1</slot_debug>
      <state_debug>0|1</state_debug>
      <statefile_debug>0|</statefile_debug>
      <suspend_debug>0|1</suspend_debug>
      <std_debug>0|1</std_debug>
      <task>0|1</task>
      <task_debug>0|1</task_debug>
      <time_debug>0|1</time_debug>
      <trickle_debug>0|1</trickle_debug>
      <unparsed_xml>0|1</unparsed_xml> 
      <work_fetch_debug>0|1</work_fetch_debug>
   </log_flags>
   <options>
   </options>
 </cc_config>


You enable an option by changing its 0 to 1. If you want to stop using the option, change the 1 to 0. Don't forget to save your changed file.

The first three options, <task>, <file_xfer> and <sched_ops> are enabled by default and should always be enabled.

Log flags explanations

<task> - The start and completion of compute jobs (should get two messages per job).
<file_xfer> - The start and completion of file transfers.
<sched_ops> - Connections with scheduling servers.

The following messages are disabled by default (typically they generate lots of output, and are used for specific debugging purposes):

<app_msg_receive> Shared-memory messages received from applications.
<app_msg_send> Shared-memory messages sent to applications.
<benchmark_debug> Debugging information about CPU benchmarks New in 5.8
<checkpoint_debug> Show when applications checkpoint.
<coproc_debug> Show details of coprocessor (GPU) scheduling. New in 6.3
<cpu_sched> CPU scheduler actions (pausing and resuming of tasks, which applications start)
<cpu_sched_debug> Explain CPU scheduler decisions
<cpu_sched_status> This tells you what is running, although it won't tell you why.
<dcf_debug> When enabled it shows the calculation of the duration correction factor per project.
<debt_debug> Changes to project debt. Is deprecated in BOINC 7.0 and above. See <priority_debug>
<disk_usage_debug> Show projects' disk share (based on resource share).
<file_xfer_debug> Show completion status of file transfers
<gui_rpc_debug> Debugging information about GUI RPC operations
<http_debug> Debugging information about HTTP operations
<http_xfer_debug> Debugging information about network communication
<mem_usage_debug> Application memory usage and CPU percentage usage debug.
<network_status_debug> Network status (whether need physical connection).
<notice_debug> Shows debug messages on why News messages do not work.
<poll_debug> Show what poll functions do
<priority_debug> Changes to project debt in BOINC 7.0 and above.
<proxy_debug> Debugging information about HTTP proxy operations
<rr_simulation> Results of the round-robin simulation used by CPU scheduler and work-fetch
<sched_op_debug> Details of scheduler RPCs; also shows deferral intervals and other low info.
<scrsave_debug> Debugging information about the screen saver.
<slot_debug> Prints messages about allocation of slots, creating/removing files in slot dirs.
<state_debug> Show summary of client state after scheduler RPC and garbage collection; also show garbage collection actions, and when state file is read/written.
<statefile_debug> Show when and why state file is written.
<std_debug> Log changes in Short Term Debt. Is deprecated in BOINC 7.0 and above.
<suspend_debug> Show details of processing and network suspend/resume.
<task_debug> Low-level details of process start/end (status codes, PIDs etc.), and when applications checkpoint.
<time_debug> Updates to on_frac, active_frac, connected_frac.
<trickle_debug> Details of trickles.
<unparsed_xml> Show any unparsed XML
<work_fetch_debug> Work fetch policy decisions

<options>

 <cc_config>
   <log_flags>
   </log_flags>
     <options>
       <abort_jobs_on_exit>0|1</abort_jobs_on_exit>
       <allow_multiple_clients>0|1</allow_multiple_clients>
       <allow_remote_gui_rpc>0|1</allow_remote_gui_rpc>
       <alt_platform>platform_name</alt_platform>
       <data_dir>/path/to/dir</data_dir>
       <client_version_check_url>URL</client_version_check_url>
       <client_download_url>URL</client_download_url> 
       <disallow_attach>0|1</disallow_attach>
       <dont_check_file_sizes>0|1</dont_check_file_sizes>
       <dont_contact_ref_site>0|1</dont_contact_ref_site>
       <exclude_gpu>
         <url>project_URL</url>
         <device_num>N</device_num>
         <type>ATI | NVIDIA | intel_gpu</type>
         <app>appname</app>
       </exclude_gpu>
       <exclusive_app>important.exe</exclusive_app>
       <exclusive_gpu_app>important.exe</exclusive_gpu_app>
       <exit_after_finish>0|1</exit_after_finish>
       <fetch_minimal_work>0</fetch_minimal_work>
       <force_auth>basic | digest | gss-negotiate | ntlm</force_auth>
       <http_1_0>0|1</http_1_0>
       <http_transfer_timeout>
       <http_transfer_timeout_bps>
       <ignore_cuda_dev>0</ignore_cuda_dev>
       <ignore_ati_dev>0</ignore_ati_dev>
       <ignore_nvidia_dev>0</ignore_nvidia_dev>
       <max_file_xfers>N</max_file_xfers>
       <max_file_xfers_per_project>N</max_file_xfers_per_project>
       <max_stderr_file_size>size_in_bytes</max_stderr_file_size>
       <max_stdout_file_size>size_in_bytes</max_stdout_file_size>
       <max_tasks_reported>N</max_tasks_reported>
       <ncpus>N</ncpus>
       <network_test_url>URL</network_test_url>
       <no_alt_platform>0|1</no_alt_platform>
       <no_gpus>0|1</no_gpus>
       <no_info_fetch>0|1</no_info_fetch>
       <no_priority_change>0</no_priority_change>
       <os_random_only>0|1</os_random_only>
       <proxy_info>..</proxy_info>
       <rec_half_life_days>X</rec_half_life_days>
       <report_results_immediately>0|1</report_results_immediately>
       <run_apps_manually>0|1</run_apps_manually>
       <save_stats_days>N</save_stats_days>
       <simple_gui_only>0|1</simple_gui_only>
       <skip_cpu_benchmarks>0|1</skip_cpu_benchmarks>
       <start_apps_manually>0|1</start_apps_manually>
       <start_delay>N</start_delay>
       <stderr_head0|1</stderr_head>
       <suppress_net_info>0|1</suppress_net_info>
       <unsigned_apps_ok>0|1</unsigned_apps_ok>
       <use_all_gpus>0|1</use_all_gpus>
       <use_certs>0|1</use_certs>
       <use_certs_only>0|1</use_certs_only>
       <zero_debts>0|1</zero_debts>
     </options>
   </cc_config>

Options explanations

<abort_jobs_on_exit> If 1, abort jobs and update projects when client exits. Useful on grids where client gets wiped after each run.
<allow_multiple_clients> Allow multiple BOINC clients to run on a single host. Each must run in a different data directory.
<allow_remote_gui_rpc> GUI RPC allowed from any host.
<alt_platform> Specify an alternate platform name, to be included in scheduler requests.
<client_version_check_url> Used to check for newer updates of the BOINC client. Can be used to point to alternative download archives.
<client_download_url> Used to tell the user which URL to use to download the new BOINC client from.
<data_dir> Change the data directory where BOINC will keep project files. (BOINC versions 5 only)(Support deprecated in BOINC 7)
<disallow_attach> If enabled, the client won't attach to new projects.
<dont_check_file_sizes> Normally, the size of application and input files are compared with the project-supplied values after the files are downloaded, and just before starting an application. If this flag is set, this check is skipped. Use it if you need to modify files locally for some reason.
<dont_contact_ref_site> To determine if a physical network connection exists, the client occasionally contacts a highly-available web site (google.com). If this flag is set, this behavior is suppressed.

<exclude_gpu>code</exclude_gpu>
 <url>project_URL</url>
 <device_num>N</device_num>
 <type>ATI | NVIDIA | intel_gpu</type>
<app>appname</app>

Don't use the given GPU for the given project. <type> is required if your computer has more than one type of GPU; otherwise it can be omitted. The type is case sensitive. If <app> is specified, only tasks for the given application are excluded. You may include multiple <exclude_gpu> elements. Used in 6.13/7.0+
<exclusive_app> BOINC will suspend computing whenever the executable is running (e.g., a game). Multiple applications can be specified. Warning: Do check your system for other applications with the same name. Since there will be no path used, any application with this name will suspend BOINC, not just the one you want (like a game).
<exclusive_gpu_app> BOINC will suspend computing done on the GPU only whenever the specified executable is running. Multiple applications can be specified. One line per application. Warning: Do check your system for other applications with the same name. Since there will be no path used, any application with this name will suspend BOINC, not just the one you want (like a game).
<exit_after_finish> Exit BOINC right after finishing a task. Used for testing only.
<fetch_minimal_work> Get only one task per CPU core or GPU.
<force_auth>code</force_auth> When authenticating against a proxy server use a specific authentication method. Valid parameters are:

basic 
digest 
gss-negotiate
ntlm  

(Setting of particular importance for World Community Grid to facilitate SSL/HTTPS communications).
<http_1_0> Set this flag to use HTTP 1.0 instead of 1.1 (this may be needed with some proxies).
<http_transfer_timeout> Timeout in seconds.
<http_transfer_timeout_bps> Transfer rate in bps below which the connection is considered idle, and will time out.
<ignore_cuda_dev>n</ignore_cuda_dev>
<ignore_ati_dev>n</ignore_ati_dev>
<ignore_nvidia_dev>n</ignore_ndvidia_dev>
Fill in the device number of the GPU you do not want to use. Can be used for multiple GPUs, one line per GPU. Reminder: Zero will disable device zero, it does not disable the line, only removal does.
<ignore_nvidia_dev> is used on clients 6.13 and over
<max_file_xfers> Maximum number of simultaneous file transfers (default 8).
<max_file_xfers_per_project> Maximum number of simultaneous file transfers per project (default 2).
<max_stderr_file_size> Specify the maximum size of the standard error log file (stderrdae.txt); default is 2 MB. Sizes are in bytes, so 2MB would be 2097152.
<max_stdout_file_size> Specify the maximum size of the standard out log file (stdoutdae.txt); default is 2 MB. Sizes are in bytes, so 2MB would be 2097152.
<max_tasks_reported> Limit the number of completed tasks reported per RPC, to N. New in 6.11.10
<ncpus> Act as if there were N CPUs: run N tasks at once. This is for debugging, i.e. to simulate 2 CPUs on a machine that has only 1. Don't use it to limit the number of CPUs used by BOINC; use general preferences instead.
If you want to use all CPUs, either omit using this option, or set <ncpus>-1</ncpus>
<network_test_url> Used to ping another site than Google (the default check).
<no_alt_platform> If enabled, the client will run applications only for its primary platform. For example, a Win64 machine will run only Win64 apps, and not Win32.
<no_gpus> Do not use the GPU even if one is available in the system. New in 6.5.0
<no_info_fetch> Suppresses the fetch of project list and of current client version #. Use when running on grid nodes. New in 6.11.8
<no_priority_change> Sets the applications to run at the same priority as the client. Used in combination with command line arguments. New since 6.6.18
<os_random_only> If enabled, the client will use only OS-level functions to generate a random GUI RPC password, and will exit if these functions fail. Without this flag, if OS secure random functions aren't available, the client will fall back to a random-string generator based on time of day, free disk space, and other host-specific information.
<proxy_info>code</proxy_info> Specify proxy settings. New since 6.6.12 The element has the following form:

<proxy_info>
   <use_http_proxy>0|1</use_http_proxy>
   <use_http_auth>0|1</use_http_auth>
   <use_socks_proxy>0|1</use_sock_proxy>
</proxy_info>

<rec_half_life_days>N</rec_half_life_days> A project's scheduling priority is determined by its estimated credit in the last X days. Default is 10; set it larger if you run long high-priority tasks. New in 6.13.1
<report_results_immediately> If set, each job will be reported to the project server as soon as it's finished (normally it's deferred for up to a day, so that several jobs can be reported in one request). Using this option increases the load on project servers, and should generally be avoided. It's intended to be used on computer whose disks are reformatted every day.
<run_apps_manually>0|1</run_apps_manually> This is for debugging apps. When running an app, the client will do everything except actually run the app, i.e. it will set up the slot dir, create the shared mem segment, etc. It will then continue as if the app were actually running, and you can then manually run your app under a debugger in the slot directory. Note: the client won't notice the termination of your app.
<save_stats_days> How many days to save the per-project credit totals that are displayed in the Statistics tab of the BOINC Manager. Default is 30.
<simple_gui_only> If enabled, the BOINC Manager to display only the simple GUI.
<skip_cpu_benchmarks> When set, CPU benchmarks will not be run. Use for debug testing only.
<start_apps_manually> This is for debugging apps. When running an app, the client will do everything except actually run the app, i.e. it will set up the slot dir, create the shared mem segment, etc. It will then continue as if the app were actually running, and you can then manually run your app under a debugger in the slot directory. Note: the client won't notice the termination of your app.
<start_delay> Specify a number of seconds to delay running applications after client startup.
<stderr_head> Sends the first rather than last 64KB of stderr to server.
<suppress_net_info> If enabled, don't send this host's IP address and domain name to servers. Otherwise, this information is sent to, and stored on, servers. It is visible to you (but not other users) via the web.
<unsigned_apps_ok> This tells the client to allow unsigned apps. used for testing only. No file xfers or other network traffic will be allowed if set.
<use_all_gpus> If set, use GPUs even if they're not equivalent to the most capable one. New in 6.6.25
<use_certs> Accept applications signed using X509 certificates, as well as those that have BOINC signatures.
<use_certs_only> Accept only applications signed with X509 certificates.
<zero_debts> Set resource scheduling debts to zero. This lets you fix situations where client bugs have resulted in distorted debt values. Set it, run the client, then clear it (otherwise you'll start out with zero debts every time you run the client). Can only be used in BOINC 6.6.11 to 6.12.43. Is deprecated in BOINC 7.0 and above.

World Community Grid options


<cc_config>
   <log_flags>
   </log_flags>
     <options>
       <client_version_check_url>URL</client_version_check_url>
       <client_download_url>URL</client_download_url>
       <network_test_url>URL</network_test_url>
       <proxy_test_server>URL</proxy_test_server>
       <version_check_server>URL</version_check_server>
     </options>
</cc_config>

<client_version_check_url> Used to check for newer updates on the WCG specific BOINC version. Points to the WCG client archive.
<client_download_url> Used to tell the user which URL to use to download the new WCG BOINC version from.
<network_test_url> Used to ping another site than Google (the default check). In this case, the IBM server is pinged.
<proxy_test_server> Used to check whether BOINC can ping another site than Google (the default check) when using a proxy. In this case, the IBM server is used.
<version_check_server> Does the same thing as the <client_version_check_url> option, but is deprecated on the newer versions.

Older pre-BOINC 7 versions warnings and notes

Warning: If you are using a BOINC version lower than 5.8.2, before you add or edit cc_config.xml, exit BOINC. Normally in Boinc Manager File->Exit. If you are running as a service, Start->Run, type net stop boinc and press OK/Enter.

Note: Not all options are available in lower versions of BOINC.
Note: When using a World Community Grid version of BOINC, flags may differ. Please ask at the WCG forums if in doubt. I did add the specific flags in this FAQ.

When you are using BOINC 5.8.2 or above, it isn't necessary to stop the BOINC client. Just edit the cc_config.xml file and tell Boinc Manager to read the file, through Advanced, Read config file.

Warning: Any changes in the <log_flags> section will be used immediately. Yet a lot of changes in the <options> section will need a complete exit and restart of the BOINC client. They will not take if you just re-read the config file.

For BOINC 5.2.1 - 5.10.45:
Save the cc_config.xml file into your BOINC directory.

For BOINC 6.1 - all above that:
Save the cc_config.xml file into your BOINC Data directory.

This can also be found in the the BOINC Wiki .. Check the site regularly for changes/additions.

Original writer Original FAQ Date
Jorden 91 13-Jan-2008