Você pode verificar o seu canal de espera com alguma frequência. O canal médio de espera que você encontra deve ser indicativo de onde o tempo é gasto no processo.
Por exemplo: faça o download de uma imagem do Ubuntu como um processo típico do net-io-bound:
$ url='http://mirror.dkm.cz/ubuntu-releases/16.04/ubuntu-16.04-desktop-amd64.iso'
$ wget "$url" & pid=$!
Quando você faz:
$ ps h -p $pid -o wchan
Você deve obter poll_schedule_timeout praticamente o tempo todo, por isso é um processo ligado a net-io que provavelmente usa epoll para net io.
Em contraste, para um processo tipicamente ligado à CPU, como:
$ ( while :; do :; done )& pid=$!
você deve obter um canal de espera - (= none = está no núcleo da CPU) praticamente o tempo todo.