How to tell bitcoind to use more memory and CPU
It will by default use all CPU cores available.

However, if the database cache is too small, your node will spend its time fetching and writing database entries from/to disk, rather than verification

You can set the size of the database cache using a bitcoin.conf setting dbcache=N, where N is the number of megabytes of RAM.