How to calculate total number of cores on my servers ?


 
Thread Tools Search this Thread
Operating Systems Solaris How to calculate total number of cores on my servers ?
# 1  
Old 05-16-2019
How to calculate total number of cores on my servers ?

Hi,

I want to get total number of cores on my all non-global zones on Solaris 10. I got two methods and both are giving different results. Below link is a script, which tells me that total cores are 8
Mandalika's scratchpad: Oracle Solaris: Show Me the CPU, vCPU, Core Counts and the Socket-Core-vCPU Mapping
Code:
Total number of physical processors: 2
Number of virtual processors: 16
Total number of cores: 8
Number of cores per physical processor: 4
Number of hardware threads (strands or vCPUs) per core: 2
Processor speed: 3067 MHz (3.06 GHz)

But below command, tells me, total cores are 16
Code:
# echo "`kstat -m cpu_info|grep -w core_id|uniq|wc -l` core(s) "
      16 core(s)

Which is supposed to be accurate and I should keep using in all servers ?

Thanks
# 2  
Old 05-17-2019
Ref: IBM: Virtual processor core (VPC)



Quote:
A virtual processor core (VPC) is a unit of measurement that is used to determine the licensing cost of IBM products. It is based on the number of virtual cores (vCPUs) that are available to the product. A vCPU is a virtual core that is assigned to a virtual machine or a physical processor core if the server is not partitioned for virtual machines.
# 3  
Old 05-17-2019
In an old script I have
Code:
kstat -m cpu_info | nawk '$2=="on-line" {lcpu++} $1=="pg_id" && s[$2]++==0 {core++} END {print core?core+0:lcpu+0}'

# 4  
Old 05-17-2019
Looks like I missed something. I want to set 1 core for one non-global zone. But even after setting up ncpu in zone configuration, I still see all core and vCPUs inside zone.
Code:
bash-3.2# kstat cpu_info|grep core_id|sort -u|wc -l
       4
bash-3.2# kstat -m cpu_info | nawk '$2=="on-line" {lcpu++} $1=="pg_id" && s[$2]++==0 {core++} END {print core?core+0:lcpu+0}'
32
bash-3.2# zonecfg -z zone1 info capped-cpu
capped-cpu:
        [ncpus: 1.00]
bash-3.2# zlogin zone1
[Connected to zone 'zone1' pts/4]
Last login: Fri May 17 14:50:23 on pts/4
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
You have new mail.
# kstat cpu_info|grep core_id|sort -u|wc -l
       4
# kstat -m cpu_info | nawk '$2=="on-line" {lcpu++} $1=="pg_id" && s[$2]++==0 {core++} END {print core?core+0:lcpu+0}'
32
#

But if I set dedicated CPU, it shows me correct CPU. Should above example not show me out as 1 , because I set ncpu 1 ?
Code:
bash-3.2# zonecfg -z zone1 info dedicated-cpu
dedicated-cpu:
        ncpus: 3
bash-3.2#
bash-3.2# zlogin zone1
[Connected to zone 'zone1' pts/4]
Last login: Fri May 17 14:54:22 on pts/4
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
You have new mail.
# kstat cpu_info|grep core_id|sort -u|wc -l
       1
# kstat -m cpu_info | nawk '$2=="on-line" {lcpu++} $1=="pg_id" && s[$2]++==0 {core++} END {print core?core+0:lcpu+0}'
3
#

I wanted to restrict core with this zone. But looks like, it is restricting vCPU. isn't ?

Last edited by ron323232; 05-17-2019 at 07:11 PM..
# 5  
Old 05-18-2019
You have 8 core with hyperthreading ON.
Operating systems will interpret those as 16 cores (2 threads per core).

Maximum value for ncpu property on your system is = 16 (1600%)
One can set for a zone an arbitrary decimal number, say 1.37, which will get you 137% out of 1600% cpu time.
Not specific cores, but cpu time governed by the FSS scheduler.

This could be the reason why utilities are reporting 'strange' results inside non-global zone using ncpu property.
Also, applications which use utilities to optimize their work (count the cores/threads to optimize them self), may exhibit performance impact when using ncpu.

On the other hand, dedicated-cpu property sets fix number of cores for that zone (out of 16).
Utilities inside non-global zone will report this correctly and applications relaying on those will get correct number to work with.

Mixing those properties is ill-advised and incompatible.
So in your case, set a 1 dedicated-cpu resourse to global zone and other 15 on non-global zones as you see fit to achieve complete isolation.

There is an option to use psets as well, which group the core(s) in specific group, which you can then assign to zones.
For instance, making a 8 core pset named dbpset, assigning it to 2 zones - both zones will show 8 cores inside.

Hope that helps
Regards
Peasant
This User Gave Thanks to Peasant For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Calculate the total

Hi All , I have the following script as below , I tried to modify to meet the requirement , could someone help ? very thanks ================================================================================================ while read STR NAME; do Total=0 MyString="$STR" GetData () {... (18 Replies)
Discussion started by: ust3
18 Replies

2. Shell Programming and Scripting

Calculate total value from a row

HI I have a file # cat marks.txt MARKS LIST 2013 Name english french chinese latin total_marks wer 34 45 67 23 wqa 12 39 10 56 wsy 23 90 23 78 Now i need to find the total marks of each student using... (11 Replies)
Discussion started by: Priya Amaresh
11 Replies

3. Shell Programming and Scripting

How to calculate the total number of weeks from a specify year?

Hi anyone can help? How to calculate total number of weeks from a specify date, for example, 01 Jan 2012. Thx! (2 Replies)
Discussion started by: rayray2013
2 Replies

4. Shell Programming and Scripting

How do I calculate total number of active and non active hosts?

#!/bin/bash for digit in $(seq 1 10) do if ping -c1 -w2 192.168.1.$digit &> /dev/null then echo "192.168.1.$digit is UP" else echo "192.168.1.$digit is DOWN" fi done (3 Replies)
Discussion started by: fusetrips
3 Replies

5. Shell Programming and Scripting

writing a simple script to get total number of cpus/cores in server

Hi, I am very new to scripting and I wanted to write a unix shell script which can give me, 1)number of cpu's in a box 2)number of cores per cpu 3)total number of cores in abox (ie multiplying 1&2) I am also trying to figure out how to check if hyper-threading is enabled in the... (8 Replies)
Discussion started by: steven12
8 Replies

6. Shell Programming and Scripting

Help with sum total number of record and total number of record problem asking

Input file SFSQW 5192.56 HNRNPK 611.486 QEQW 1202.15 ASDR 568.627 QWET 6382.11 SFSQW 4386.3 HNRNPK 100 SFSQW 500 Desired output file SFSQW 10078.86 3 QWET 6382.11 1 QEQW 1202.15 1 HNRNPK 711.49 2 ASDR 568.63 1 The way I tried: (2 Replies)
Discussion started by: patrick87
2 Replies

7. Shell Programming and Scripting

Calculate total of log by hour

Hi, Just wondering, is there anyway I can get the total of logs generated by hours ? Let say I have these logs, Sep 23 04:48:43 hsbcufs: NOTICE: realloccg /: file system full Sep 23 04:48:47 hsbcufs: NOTICE: alloc: /: file system full Sep 23 04:48:51 hsbcufs: NOTICE: realloccg /: file... (14 Replies)
Discussion started by: dehetoxic
14 Replies

8. Shell Programming and Scripting

Calculate total space, total used space and total free space in filesystem names matching keyword

Good afternoon! Im new at scripting and Im trying to write a script to calculate total space, total used space and total free space in filesystem names matching a keyword (in this one we will use keyword virginia). Please dont be mean or harsh, like I said Im new and trying my best. Scripting... (4 Replies)
Discussion started by: bigben1220
4 Replies

9. Shell Programming and Scripting

Awk help needed to calculate total

Hi all, I have a flat file like 10 steven 25 mike 47 Charles 127 Nancy 34 steven 23 mike 67 Charles 7761 Nancy 8 steven 54 mike 88 Charles 1267 Nancy I need to calculate the total of steven and all the members , for this I am using like grep "`sed -n 1p patterns.txt`"... (7 Replies)
Discussion started by: senthilkumar_ak
7 Replies
Login or Register to Ask a Question