Why does top's CPU breakdown (option 1) in default non-irix mode show conflicting results?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
0
down vote

favorite
2












I'm running some benchmarks on various forks of bitcoind and I noticed some conflicting values when running top.



In the screenshot below, there is an even spread of ~30% cpu utilization across each of the 8 cpus. But in the list view below it, bitcoind shows 105% CPU. Given that this is not in Irix mode, that means that bitcoind is using 100% of 1 cpu. But it is not displaying that way in the breakdown above. Further, the Python processes I'm running report ~40% each in the bottom readout, but none of the cpus on top read ~40%.



The machine does indeed have 8 physical cores, running Ubuntu non-virtualized.



What's going on here?
bitcoind top



For comparison, here's running stress on 8 cpus with the same top display. Notice that 8 cpus each have 100% utilization, and the 8 stress processes each have a 100% report.
stress top



Update: indeed the variant I was testing is multithread and the H option showed the breakdown, thanks @TheGeek



top-h







share|improve this question

















  • 1




    there's absolutely no problem here. you have 800% of CPU available, top makes a ratio between the CPU time consume by your process and the CPU time a CPUi core is capable to handle. If you have a multi threaded process such as crypto mining the whole process if well written could consume 105% spread between all your CPU core. There's no problem here
    – Kiwy
    Apr 29 at 13:00











  • @kiwy oh no problem here, the issue is with my understanding the output e.g. PICNIC
    – y3sh
    May 1 at 13:49














up vote
0
down vote

favorite
2












I'm running some benchmarks on various forks of bitcoind and I noticed some conflicting values when running top.



In the screenshot below, there is an even spread of ~30% cpu utilization across each of the 8 cpus. But in the list view below it, bitcoind shows 105% CPU. Given that this is not in Irix mode, that means that bitcoind is using 100% of 1 cpu. But it is not displaying that way in the breakdown above. Further, the Python processes I'm running report ~40% each in the bottom readout, but none of the cpus on top read ~40%.



The machine does indeed have 8 physical cores, running Ubuntu non-virtualized.



What's going on here?
bitcoind top



For comparison, here's running stress on 8 cpus with the same top display. Notice that 8 cpus each have 100% utilization, and the 8 stress processes each have a 100% report.
stress top



Update: indeed the variant I was testing is multithread and the H option showed the breakdown, thanks @TheGeek



top-h







share|improve this question

















  • 1




    there's absolutely no problem here. you have 800% of CPU available, top makes a ratio between the CPU time consume by your process and the CPU time a CPUi core is capable to handle. If you have a multi threaded process such as crypto mining the whole process if well written could consume 105% spread between all your CPU core. There's no problem here
    – Kiwy
    Apr 29 at 13:00











  • @kiwy oh no problem here, the issue is with my understanding the output e.g. PICNIC
    – y3sh
    May 1 at 13:49












up vote
0
down vote

favorite
2









up vote
0
down vote

favorite
2






2





I'm running some benchmarks on various forks of bitcoind and I noticed some conflicting values when running top.



In the screenshot below, there is an even spread of ~30% cpu utilization across each of the 8 cpus. But in the list view below it, bitcoind shows 105% CPU. Given that this is not in Irix mode, that means that bitcoind is using 100% of 1 cpu. But it is not displaying that way in the breakdown above. Further, the Python processes I'm running report ~40% each in the bottom readout, but none of the cpus on top read ~40%.



The machine does indeed have 8 physical cores, running Ubuntu non-virtualized.



What's going on here?
bitcoind top



For comparison, here's running stress on 8 cpus with the same top display. Notice that 8 cpus each have 100% utilization, and the 8 stress processes each have a 100% report.
stress top



Update: indeed the variant I was testing is multithread and the H option showed the breakdown, thanks @TheGeek



top-h







share|improve this question













I'm running some benchmarks on various forks of bitcoind and I noticed some conflicting values when running top.



In the screenshot below, there is an even spread of ~30% cpu utilization across each of the 8 cpus. But in the list view below it, bitcoind shows 105% CPU. Given that this is not in Irix mode, that means that bitcoind is using 100% of 1 cpu. But it is not displaying that way in the breakdown above. Further, the Python processes I'm running report ~40% each in the bottom readout, but none of the cpus on top read ~40%.



The machine does indeed have 8 physical cores, running Ubuntu non-virtualized.



What's going on here?
bitcoind top



For comparison, here's running stress on 8 cpus with the same top display. Notice that 8 cpus each have 100% utilization, and the 8 stress processes each have a 100% report.
stress top



Update: indeed the variant I was testing is multithread and the H option showed the breakdown, thanks @TheGeek



top-h









share|improve this question












share|improve this question




share|improve this question








edited Apr 30 at 15:59
























asked Apr 29 at 4:38









y3sh

1033




1033







  • 1




    there's absolutely no problem here. you have 800% of CPU available, top makes a ratio between the CPU time consume by your process and the CPU time a CPUi core is capable to handle. If you have a multi threaded process such as crypto mining the whole process if well written could consume 105% spread between all your CPU core. There's no problem here
    – Kiwy
    Apr 29 at 13:00











  • @kiwy oh no problem here, the issue is with my understanding the output e.g. PICNIC
    – y3sh
    May 1 at 13:49












  • 1




    there's absolutely no problem here. you have 800% of CPU available, top makes a ratio between the CPU time consume by your process and the CPU time a CPUi core is capable to handle. If you have a multi threaded process such as crypto mining the whole process if well written could consume 105% spread between all your CPU core. There's no problem here
    – Kiwy
    Apr 29 at 13:00











  • @kiwy oh no problem here, the issue is with my understanding the output e.g. PICNIC
    – y3sh
    May 1 at 13:49







1




1




there's absolutely no problem here. you have 800% of CPU available, top makes a ratio between the CPU time consume by your process and the CPU time a CPUi core is capable to handle. If you have a multi threaded process such as crypto mining the whole process if well written could consume 105% spread between all your CPU core. There's no problem here
– Kiwy
Apr 29 at 13:00





there's absolutely no problem here. you have 800% of CPU available, top makes a ratio between the CPU time consume by your process and the CPU time a CPUi core is capable to handle. If you have a multi threaded process such as crypto mining the whole process if well written could consume 105% spread between all your CPU core. There's no problem here
– Kiwy
Apr 29 at 13:00













@kiwy oh no problem here, the issue is with my understanding the output e.g. PICNIC
– y3sh
May 1 at 13:49




@kiwy oh no problem here, the issue is with my understanding the output e.g. PICNIC
– y3sh
May 1 at 13:49










1 Answer
1






active

oldest

votes

















up vote
2
down vote



accepted










It is because your coind is multi-threaded. Press letter "H" in top to turn on threaded mode. This will show you child threads of bitcoind. You can then see the spread of CPU usage.



You can also try gstack to see list of threads.






share|improve this answer





















    Your Answer







    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "106"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    convertImagesToLinks: false,
    noModals: false,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );








     

    draft saved


    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f440673%2fwhy-does-tops-cpu-breakdown-option-1-in-default-non-irix-mode-show-conflictin%23new-answer', 'question_page');

    );

    Post as a guest






























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    2
    down vote



    accepted










    It is because your coind is multi-threaded. Press letter "H" in top to turn on threaded mode. This will show you child threads of bitcoind. You can then see the spread of CPU usage.



    You can also try gstack to see list of threads.






    share|improve this answer

























      up vote
      2
      down vote



      accepted










      It is because your coind is multi-threaded. Press letter "H" in top to turn on threaded mode. This will show you child threads of bitcoind. You can then see the spread of CPU usage.



      You can also try gstack to see list of threads.






      share|improve this answer























        up vote
        2
        down vote



        accepted







        up vote
        2
        down vote



        accepted






        It is because your coind is multi-threaded. Press letter "H" in top to turn on threaded mode. This will show you child threads of bitcoind. You can then see the spread of CPU usage.



        You can also try gstack to see list of threads.






        share|improve this answer













        It is because your coind is multi-threaded. Press letter "H" in top to turn on threaded mode. This will show you child threads of bitcoind. You can then see the spread of CPU usage.



        You can also try gstack to see list of threads.







        share|improve this answer













        share|improve this answer



        share|improve this answer











        answered Apr 29 at 6:31









        TheGeek

        1286




        1286






















             

            draft saved


            draft discarded


























             


            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f440673%2fwhy-does-tops-cpu-breakdown-option-1-in-default-non-irix-mode-show-conflictin%23new-answer', 'question_page');

            );

            Post as a guest













































































            Popular posts from this blog

            How to check contact read email or not when send email to Individual?

            Displaying single band from multi-band raster using QGIS

            How many registers does an x86_64 CPU actually have?