awk -F: '/^core id/ && !P[$2] { CORES++; P[$2]=1 }; /^physical id/ && !N[$2] { CPUs++; N[$2]=1 }; END { print CPUs*CORES }' /proc/cpuinfo

Calculates the number of physical cores considering HyperThreading in AWK

Check whether hyperthreading is enabled or not. a better solution as nproc should work on all OS with awk
Sample Output
# example: 4xCPU 24xHT Cores
48

1
By: emphazer
2018-05-14 14:17:33

These Might Interest You

  • shell order of operation example which calculates: x = number of physical CPU's y = number of cores per CPU 2(x * y) + 1 = CPU load limit Show Sample Output


    0
    echo "$(( $(( $(grep 'physical id' '/proc/cpuinfo' | uniq | wc -l) * $(grep 'core id' '/proc/cpuinfo' | wc -l) )) * 2 + 1 ))"
    snorf · 2015-11-14 20:44:39 1
  • You need bonnie++ package for this. More detail than a simple hdparm -t /dev/sda would give you. the -d is the directory where it performs writes/reads for example I use /tmp/scratch with 777 permissions Bonnie++ benchmarks three things: data read and write speed, number of seeks that can be performed per second, and number of file metadata operations that can be performed per second.


    6
    bonnie++ -n 0 -u 0 -r <physical RAM> -s <2 x physical ram> -f -b -d <mounted disck>
    lv4tech · 2009-09-18 09:46:44 1
  • Force make command to create as many compile processes as specified (4 in the example), so that each one goes into one core or CPU and compilation happens in parallel. This reduces the time required to compile a program by up to a half in the case of CPUs with 2 cores, one fourth in the case of quad cores... and so on.


    16
    make -j 4
    kovan · 2009-08-05 22:50:57 5
  • The lspv command displays the information about the physical volume if the specific physical volume name is specified. If you do not add flags to the lspv command, by default all the available physical volumes are printed along with the following information: * Physical disk name. * Physical volume identifiers (PVIDs). * The volume group, if any, that the physical volume belongs to or the label,if any, locked with the lkdev command. * The state of the volume group. Active-When the volume group is varied on. Concurrent-When the volume group is varied on in the concurrent mode. Locked-When the physical volume is locked with the lkdev command. **************************************************************************************** In the example, the iw406 system has two hard disks. Phy disk name Phy vol identfrs (PVIDs) volume group State of Volumne group hdisk0 00f6267c8a99c7b6 rootvg active hdisk1 00f6267cb3746d01 appinstvg active hdisk0 is mounted on volume group rootvg. hdisk1 is mounted on volume group appinstvg Show Sample Output


    -3
    lspv
    kaushalmehra · 2012-09-13 15:20:06 0

  • 2
    grep -c ^processor /proc/cpuinfo
    alebairos · 2010-02-14 16:28:07 0
  • This physical volumne - hdisk1 - has TOTAL PPs:11999 (1535872 megabytes) -> 1.5 TB This physical volumne - hdisk1 - has -> 60 GB Show Sample Output


    0
    lspv hdisk1
    kaushalmehra · 2012-09-13 15:40:58 0

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands



Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: