In a private testing environment I've got a single nodeos instance. In case it is an important detail, note that the instance is not running the eosio.system contract.

One of my own contracts is resulting in "transaction exceeded the current CPU usage limit imposed on the transaction."

I'd like to disable that error or at least increase the CPU usage limit to the point where it doesn't matter.


2 Answers 2


Execution of any action of smart contract maximum transaction is 150ms,You have to execute this action before 150ms.I also tried increasing CPU limit but nothing happen.So we modified smart contract which should execute any action before 150ms

  • If what you're trying to do will take a long time inevitably, I would also recommend splitting the work into more transactions so that you can call the action several times and it will process part of what you want it to do each time until there is nothin left and then you can stop calling it. Commented Jul 26, 2018 at 11:30

The answer from https://github.com/EOSIO/eos/issues/4343:

If you've never modified your max_transaction_cpu_usage and max_block_cpu_usage, it will be the value defined in your genesis (check your genesis via nodeos --print-genesis-json). To check its latest value, you can use cleos get table eosio eosio global but only if you have uploaded eosio.system contract

Two ways for you to modify it:

  1. Use your own defined genesis.json when starting your own chain (this is only possible if you own the chain and you want to restart the whole chain from the beginning)
  2. Upload eosio.system contract, and then use setparams action

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.