boid-com/boidcmd

Using up 100% cpu and can't quit

bitcoiners opened this issue · 5 comments

I installed boidcmd on Ubuntu server and looks like it uses all cpu. I want to set it to use 50%. Created a file /opt/boidcmd/global_prefs_override.xml

<global_preferences>
    <cpu_usage_limit>50</cpu_usage_limit>
</global_preferences>

now want to restart boid with override settings.
but can't stop running boid.

/opt/boidcmd$ boidcmd quit
error { Error: Command failed: 
            boinccmd kill
        

usage: boinccmd [--host hostname] [--passwd passwd] [--unix_domain] command

default hostname: localhost
default password: contents of gui_rpc_auth.cfg
Commands:
 --acct_mgr attach URL name passwd  attach to account manager
 --acct_mgr info                    show current account manager info
 --acct_mgr sync                    synchronize with acct mgr
 --acct_mgr detach                  detach from acct mgr
 --client_version                   show client version
 --create_account URL email passwd name
 --file_transfer URL filename op    file transfer operation
   op = retry | abort
 --get_app_config URL               show app config for given project
 --get_cc_status
 --get_daily_xfer_history           show network traffic history
 --get_disk_usage                   show disk usage
 --get_file_transfers               show file transfers
 --get_host_info
 --get_message_count                show largest message seqno
 --get_messages [ seqno ]           show messages > seqno
 --get_notices [ seqno ]            show notices > seqno
 --get_project_config URL
 --get_project_status               show status of all attached projects
 --get_proxy_settings
 --get_simple_gui_info              show status of projects and active tasks
 --get_state                        show entire state
 --get_tasks                        show tasks
 --get_old_tasks                    show reported tasks from last 1 hour
 --join_acct_mgr URL name passwd    same as --acct_mgr attach
 --lookup_account URL email passwd
 --network_available                retry deferred network communication
 --project URL op                   project operation
   op = reset | detach | update | suspend | resume | nomorework | allowmorework | detach_when_done | dont_detach_when_done
 --project_attach URL auth          attach to project
 --quit                             tell client to exit
 --quit_acct_mgr                    same as --acct_mgr detach
 --read_cc_config
 --read_global_prefs_override
 --run_benchmarks
 --set_gpu_mode mode duration       set GPU run mode for given duration
   mode = always | auto | never
 --set_host_info product_name
 --set_network_mode mode duration   set network mode for given duration
   mode = always | auto | never
 --set_proxy_settings
 --set_run_mode mode duration       set run mode for given duration
   mode = always | auto | never
 --task url task_name op            task operation
   op = suspend | resume | abort

    at ChildProcess.exithandler (child_process.js:275:12)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
  killed: false,
  code: 1,
  signal: null,
  cmd: '\n            boinccmd kill\n        ' }


I am having the same issue. Found out, if you use the "boidcmd suspend" it stops the process from running at least.

I would like to add.
When i try to set the CPU via the command line I get this error.

$boidcmd setCPU 50.0
70
{ _comment:
'\nThis configuration file global_prefs_override.xml for the BOINC core client\ncan be used to override global preferences locally. For a complete list of\nall preferences which can be overridden see:\nhttp://boinc.berkeley.edu/trac/wiki/PrefsOverride\n',
global_preferences: { cpu_usage_limit: 70 } }

<global_preferences>
<cpu_usage_limit>70</cpu_usage_limit>
</global_preferences>
/home/user/.nvm/versions/node/v11.14.0/lib/node_modules/boidcmd/index.js:186
if (err) throw err;
^

Error: EACCES: permission denied, open '/var/lib/boinc-client/global_prefs_override.xml'

Another thing is after i suspend the service and try to quit it I get this error.

$ boidcmd quit
error { Error: Command failed:
boinccmd kill

can't connect to local host

at ChildProcess.exithandler (child_process.js:299:12)
at ChildProcess.emit (events.js:193:13)
at maybeClose (internal/child_process.js:999:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:266:5)

killed: false,
code: 1,
signal: null,
cmd: '\n boinccmd kill\n ' }

I'm confused, when I do boidcmd run, is it not supposed to run it in the background? In my case it never returns. Thanks!

thob commented

yeah only resume/suspend work, And only on 100%. Something is missing I hope

I'm confused, when I do boidcmd run, is it not supposed to run it in the background? In my case it never returns. Thanks!

I have a fix for that waiting on a PR.

This issue is resolved with pr #6. Feel free to open this issue again if you find issues with the latest version.