Understanding output of lscpu

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












4















You can see the output from lscpu command -



jack@042:~$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 56
On-line CPU(s) list: 0-55
Thread(s) per core: 2
Core(s) per socket: 14
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 79
Model name: Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz
Stepping: 1
CPU MHz: 2600.000
CPU max MHz: 2600.0000
CPU min MHz: 1200.0000
BogoMIPS: 5201.37
Virtualization: VT-x
Hypervisor vendor: vertical
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 35840K
NUMA node0 CPU(s): 0-13,28-41
NUMA node1 CPU(s): 14-27,42-55


I can see that there are 2 sockets (which is like a processor ??) and inside each of the socket we have 14 cores. So, in total 2x14=28 physical cores. Normally, a CPU can contain multiple cores, so number of CPUs can never be smaller than number of Cores. But, as shown in the output CPUs(s): 56 and this is what is confusing me.



I can see that Thread(s) per core: 2, so these 28 cores can behave like 2x28=56 logical cores.



Question 1: What does this CPUs(s): 56 denote? Does CPU(s) denote number of Virtual/Logical core, as it cannot be a Physical core core atleast?



Question 2: What does this NUMA node mean? Does it represent the socket?










share|improve this question




























    4















    You can see the output from lscpu command -



    jack@042:~$ lscpu
    Architecture: x86_64
    CPU op-mode(s): 32-bit, 64-bit
    Byte Order: Little Endian
    CPU(s): 56
    On-line CPU(s) list: 0-55
    Thread(s) per core: 2
    Core(s) per socket: 14
    Socket(s): 2
    NUMA node(s): 2
    Vendor ID: GenuineIntel
    CPU family: 6
    Model: 79
    Model name: Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz
    Stepping: 1
    CPU MHz: 2600.000
    CPU max MHz: 2600.0000
    CPU min MHz: 1200.0000
    BogoMIPS: 5201.37
    Virtualization: VT-x
    Hypervisor vendor: vertical
    Virtualization type: full
    L1d cache: 32K
    L1i cache: 32K
    L2 cache: 256K
    L3 cache: 35840K
    NUMA node0 CPU(s): 0-13,28-41
    NUMA node1 CPU(s): 14-27,42-55


    I can see that there are 2 sockets (which is like a processor ??) and inside each of the socket we have 14 cores. So, in total 2x14=28 physical cores. Normally, a CPU can contain multiple cores, so number of CPUs can never be smaller than number of Cores. But, as shown in the output CPUs(s): 56 and this is what is confusing me.



    I can see that Thread(s) per core: 2, so these 28 cores can behave like 2x28=56 logical cores.



    Question 1: What does this CPUs(s): 56 denote? Does CPU(s) denote number of Virtual/Logical core, as it cannot be a Physical core core atleast?



    Question 2: What does this NUMA node mean? Does it represent the socket?










    share|improve this question


























      4












      4








      4


      1






      You can see the output from lscpu command -



      jack@042:~$ lscpu
      Architecture: x86_64
      CPU op-mode(s): 32-bit, 64-bit
      Byte Order: Little Endian
      CPU(s): 56
      On-line CPU(s) list: 0-55
      Thread(s) per core: 2
      Core(s) per socket: 14
      Socket(s): 2
      NUMA node(s): 2
      Vendor ID: GenuineIntel
      CPU family: 6
      Model: 79
      Model name: Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz
      Stepping: 1
      CPU MHz: 2600.000
      CPU max MHz: 2600.0000
      CPU min MHz: 1200.0000
      BogoMIPS: 5201.37
      Virtualization: VT-x
      Hypervisor vendor: vertical
      Virtualization type: full
      L1d cache: 32K
      L1i cache: 32K
      L2 cache: 256K
      L3 cache: 35840K
      NUMA node0 CPU(s): 0-13,28-41
      NUMA node1 CPU(s): 14-27,42-55


      I can see that there are 2 sockets (which is like a processor ??) and inside each of the socket we have 14 cores. So, in total 2x14=28 physical cores. Normally, a CPU can contain multiple cores, so number of CPUs can never be smaller than number of Cores. But, as shown in the output CPUs(s): 56 and this is what is confusing me.



      I can see that Thread(s) per core: 2, so these 28 cores can behave like 2x28=56 logical cores.



      Question 1: What does this CPUs(s): 56 denote? Does CPU(s) denote number of Virtual/Logical core, as it cannot be a Physical core core atleast?



      Question 2: What does this NUMA node mean? Does it represent the socket?










      share|improve this question
















      You can see the output from lscpu command -



      jack@042:~$ lscpu
      Architecture: x86_64
      CPU op-mode(s): 32-bit, 64-bit
      Byte Order: Little Endian
      CPU(s): 56
      On-line CPU(s) list: 0-55
      Thread(s) per core: 2
      Core(s) per socket: 14
      Socket(s): 2
      NUMA node(s): 2
      Vendor ID: GenuineIntel
      CPU family: 6
      Model: 79
      Model name: Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz
      Stepping: 1
      CPU MHz: 2600.000
      CPU max MHz: 2600.0000
      CPU min MHz: 1200.0000
      BogoMIPS: 5201.37
      Virtualization: VT-x
      Hypervisor vendor: vertical
      Virtualization type: full
      L1d cache: 32K
      L1i cache: 32K
      L2 cache: 256K
      L3 cache: 35840K
      NUMA node0 CPU(s): 0-13,28-41
      NUMA node1 CPU(s): 14-27,42-55


      I can see that there are 2 sockets (which is like a processor ??) and inside each of the socket we have 14 cores. So, in total 2x14=28 physical cores. Normally, a CPU can contain multiple cores, so number of CPUs can never be smaller than number of Cores. But, as shown in the output CPUs(s): 56 and this is what is confusing me.



      I can see that Thread(s) per core: 2, so these 28 cores can behave like 2x28=56 logical cores.



      Question 1: What does this CPUs(s): 56 denote? Does CPU(s) denote number of Virtual/Logical core, as it cannot be a Physical core core atleast?



      Question 2: What does this NUMA node mean? Does it represent the socket?







      cpu socket multithreading lscpu






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Sep 13 '18 at 14:00







      cph_sto

















      asked Sep 13 '18 at 11:16









      cph_stocph_sto

      1235




      1235




















          1 Answer
          1






          active

          oldest

          votes


















          5














          “CPU(s): 56” represents the number of logical cores, which equals “Thread(s) per core” × “Core(s) per socket” × “Socket(s)”. One socket is one physical CPU package (which occupies one socket on the motherboard); each socket hosts a number of physical cores, and each core can run one or more threads. In your case, you have two sockets, each containing a 14-core Xeon E5-2690 v4 CPU, and since that supports hyper-threading with two threads, each core can run two threads.



          “NUMA node” represents the memory architecture; “NUMA” stands for “non-uniform memory architecture”. In your system, each socket is attached to certain DIMM slots, and each physical CPU package contains a memory controller which handles part of the total RAM. As a result, not all physical memory is equally accessible from all CPUs: one physical CPU can directly access the memory it controls, but has to go through the other physical CPU to access the rest of memory. In your system, logical cores 0–13 and 28–41 are in one NUMA node, the rest in the other. So yes, one NUMA node equals one socket, at least in typical multi-socket Xeon systems.






          share|improve this answer























          • Stefan, in this en.wikipedia.org/wiki/Non-uniform_memory_access#/media/… (courtesy Wikipedia link you referred in your post) - Are there 2 NUMA nodes on each socket? As I understood, in this configuration, RAM is 32 GB and each Socket has 2 NUMA nodes, with each node being shared by 1 CPU Packages consisting of 8 processors, logical or otherwise. Am I correct? In my system, as you also mentioned, there is one NUMA node per socket (NUMA node0 CPU(s): 0-13,28-41). So, I suppose this pic is not an abstraction of the architecture of my system.??

            – cph_sto
            Sep 13 '18 at 15:41











          • That image shows the NUMA architecture of a Bulldozer CPU; your Xeon CPU has a different architecture. NUMA layouts depend on the memory controllers, not the sockets (directly); you can have one memory controller per socket (as on current Xeon), multiple memory controllers per socket, or even external memory controller(s) instead.

            – Stephen Kitt
            Sep 13 '18 at 15:45










          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',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          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%2f468766%2funderstanding-output-of-lscpu%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          5














          “CPU(s): 56” represents the number of logical cores, which equals “Thread(s) per core” × “Core(s) per socket” × “Socket(s)”. One socket is one physical CPU package (which occupies one socket on the motherboard); each socket hosts a number of physical cores, and each core can run one or more threads. In your case, you have two sockets, each containing a 14-core Xeon E5-2690 v4 CPU, and since that supports hyper-threading with two threads, each core can run two threads.



          “NUMA node” represents the memory architecture; “NUMA” stands for “non-uniform memory architecture”. In your system, each socket is attached to certain DIMM slots, and each physical CPU package contains a memory controller which handles part of the total RAM. As a result, not all physical memory is equally accessible from all CPUs: one physical CPU can directly access the memory it controls, but has to go through the other physical CPU to access the rest of memory. In your system, logical cores 0–13 and 28–41 are in one NUMA node, the rest in the other. So yes, one NUMA node equals one socket, at least in typical multi-socket Xeon systems.






          share|improve this answer























          • Stefan, in this en.wikipedia.org/wiki/Non-uniform_memory_access#/media/… (courtesy Wikipedia link you referred in your post) - Are there 2 NUMA nodes on each socket? As I understood, in this configuration, RAM is 32 GB and each Socket has 2 NUMA nodes, with each node being shared by 1 CPU Packages consisting of 8 processors, logical or otherwise. Am I correct? In my system, as you also mentioned, there is one NUMA node per socket (NUMA node0 CPU(s): 0-13,28-41). So, I suppose this pic is not an abstraction of the architecture of my system.??

            – cph_sto
            Sep 13 '18 at 15:41











          • That image shows the NUMA architecture of a Bulldozer CPU; your Xeon CPU has a different architecture. NUMA layouts depend on the memory controllers, not the sockets (directly); you can have one memory controller per socket (as on current Xeon), multiple memory controllers per socket, or even external memory controller(s) instead.

            – Stephen Kitt
            Sep 13 '18 at 15:45















          5














          “CPU(s): 56” represents the number of logical cores, which equals “Thread(s) per core” × “Core(s) per socket” × “Socket(s)”. One socket is one physical CPU package (which occupies one socket on the motherboard); each socket hosts a number of physical cores, and each core can run one or more threads. In your case, you have two sockets, each containing a 14-core Xeon E5-2690 v4 CPU, and since that supports hyper-threading with two threads, each core can run two threads.



          “NUMA node” represents the memory architecture; “NUMA” stands for “non-uniform memory architecture”. In your system, each socket is attached to certain DIMM slots, and each physical CPU package contains a memory controller which handles part of the total RAM. As a result, not all physical memory is equally accessible from all CPUs: one physical CPU can directly access the memory it controls, but has to go through the other physical CPU to access the rest of memory. In your system, logical cores 0–13 and 28–41 are in one NUMA node, the rest in the other. So yes, one NUMA node equals one socket, at least in typical multi-socket Xeon systems.






          share|improve this answer























          • Stefan, in this en.wikipedia.org/wiki/Non-uniform_memory_access#/media/… (courtesy Wikipedia link you referred in your post) - Are there 2 NUMA nodes on each socket? As I understood, in this configuration, RAM is 32 GB and each Socket has 2 NUMA nodes, with each node being shared by 1 CPU Packages consisting of 8 processors, logical or otherwise. Am I correct? In my system, as you also mentioned, there is one NUMA node per socket (NUMA node0 CPU(s): 0-13,28-41). So, I suppose this pic is not an abstraction of the architecture of my system.??

            – cph_sto
            Sep 13 '18 at 15:41











          • That image shows the NUMA architecture of a Bulldozer CPU; your Xeon CPU has a different architecture. NUMA layouts depend on the memory controllers, not the sockets (directly); you can have one memory controller per socket (as on current Xeon), multiple memory controllers per socket, or even external memory controller(s) instead.

            – Stephen Kitt
            Sep 13 '18 at 15:45













          5












          5








          5







          “CPU(s): 56” represents the number of logical cores, which equals “Thread(s) per core” × “Core(s) per socket” × “Socket(s)”. One socket is one physical CPU package (which occupies one socket on the motherboard); each socket hosts a number of physical cores, and each core can run one or more threads. In your case, you have two sockets, each containing a 14-core Xeon E5-2690 v4 CPU, and since that supports hyper-threading with two threads, each core can run two threads.



          “NUMA node” represents the memory architecture; “NUMA” stands for “non-uniform memory architecture”. In your system, each socket is attached to certain DIMM slots, and each physical CPU package contains a memory controller which handles part of the total RAM. As a result, not all physical memory is equally accessible from all CPUs: one physical CPU can directly access the memory it controls, but has to go through the other physical CPU to access the rest of memory. In your system, logical cores 0–13 and 28–41 are in one NUMA node, the rest in the other. So yes, one NUMA node equals one socket, at least in typical multi-socket Xeon systems.






          share|improve this answer













          “CPU(s): 56” represents the number of logical cores, which equals “Thread(s) per core” × “Core(s) per socket” × “Socket(s)”. One socket is one physical CPU package (which occupies one socket on the motherboard); each socket hosts a number of physical cores, and each core can run one or more threads. In your case, you have two sockets, each containing a 14-core Xeon E5-2690 v4 CPU, and since that supports hyper-threading with two threads, each core can run two threads.



          “NUMA node” represents the memory architecture; “NUMA” stands for “non-uniform memory architecture”. In your system, each socket is attached to certain DIMM slots, and each physical CPU package contains a memory controller which handles part of the total RAM. As a result, not all physical memory is equally accessible from all CPUs: one physical CPU can directly access the memory it controls, but has to go through the other physical CPU to access the rest of memory. In your system, logical cores 0–13 and 28–41 are in one NUMA node, the rest in the other. So yes, one NUMA node equals one socket, at least in typical multi-socket Xeon systems.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Sep 13 '18 at 12:42









          Stephen KittStephen Kitt

          173k24391467




          173k24391467












          • Stefan, in this en.wikipedia.org/wiki/Non-uniform_memory_access#/media/… (courtesy Wikipedia link you referred in your post) - Are there 2 NUMA nodes on each socket? As I understood, in this configuration, RAM is 32 GB and each Socket has 2 NUMA nodes, with each node being shared by 1 CPU Packages consisting of 8 processors, logical or otherwise. Am I correct? In my system, as you also mentioned, there is one NUMA node per socket (NUMA node0 CPU(s): 0-13,28-41). So, I suppose this pic is not an abstraction of the architecture of my system.??

            – cph_sto
            Sep 13 '18 at 15:41











          • That image shows the NUMA architecture of a Bulldozer CPU; your Xeon CPU has a different architecture. NUMA layouts depend on the memory controllers, not the sockets (directly); you can have one memory controller per socket (as on current Xeon), multiple memory controllers per socket, or even external memory controller(s) instead.

            – Stephen Kitt
            Sep 13 '18 at 15:45

















          • Stefan, in this en.wikipedia.org/wiki/Non-uniform_memory_access#/media/… (courtesy Wikipedia link you referred in your post) - Are there 2 NUMA nodes on each socket? As I understood, in this configuration, RAM is 32 GB and each Socket has 2 NUMA nodes, with each node being shared by 1 CPU Packages consisting of 8 processors, logical or otherwise. Am I correct? In my system, as you also mentioned, there is one NUMA node per socket (NUMA node0 CPU(s): 0-13,28-41). So, I suppose this pic is not an abstraction of the architecture of my system.??

            – cph_sto
            Sep 13 '18 at 15:41











          • That image shows the NUMA architecture of a Bulldozer CPU; your Xeon CPU has a different architecture. NUMA layouts depend on the memory controllers, not the sockets (directly); you can have one memory controller per socket (as on current Xeon), multiple memory controllers per socket, or even external memory controller(s) instead.

            – Stephen Kitt
            Sep 13 '18 at 15:45
















          Stefan, in this en.wikipedia.org/wiki/Non-uniform_memory_access#/media/… (courtesy Wikipedia link you referred in your post) - Are there 2 NUMA nodes on each socket? As I understood, in this configuration, RAM is 32 GB and each Socket has 2 NUMA nodes, with each node being shared by 1 CPU Packages consisting of 8 processors, logical or otherwise. Am I correct? In my system, as you also mentioned, there is one NUMA node per socket (NUMA node0 CPU(s): 0-13,28-41). So, I suppose this pic is not an abstraction of the architecture of my system.??

          – cph_sto
          Sep 13 '18 at 15:41





          Stefan, in this en.wikipedia.org/wiki/Non-uniform_memory_access#/media/… (courtesy Wikipedia link you referred in your post) - Are there 2 NUMA nodes on each socket? As I understood, in this configuration, RAM is 32 GB and each Socket has 2 NUMA nodes, with each node being shared by 1 CPU Packages consisting of 8 processors, logical or otherwise. Am I correct? In my system, as you also mentioned, there is one NUMA node per socket (NUMA node0 CPU(s): 0-13,28-41). So, I suppose this pic is not an abstraction of the architecture of my system.??

          – cph_sto
          Sep 13 '18 at 15:41













          That image shows the NUMA architecture of a Bulldozer CPU; your Xeon CPU has a different architecture. NUMA layouts depend on the memory controllers, not the sockets (directly); you can have one memory controller per socket (as on current Xeon), multiple memory controllers per socket, or even external memory controller(s) instead.

          – Stephen Kitt
          Sep 13 '18 at 15:45





          That image shows the NUMA architecture of a Bulldozer CPU; your Xeon CPU has a different architecture. NUMA layouts depend on the memory controllers, not the sockets (directly); you can have one memory controller per socket (as on current Xeon), multiple memory controllers per socket, or even external memory controller(s) instead.

          – Stephen Kitt
          Sep 13 '18 at 15:45

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Unix & Linux Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f468766%2funderstanding-output-of-lscpu%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown






          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?