Environment: IBM PowerVM 8 IOS version 2.2.3.50
When I create an LPAR (Virtual Machine), I allocate 4 shared CPU's. I then install Redhat 6.6 p64. Nproc shows 16 CPUs.
On a different machine, I allocate 1 shared CPU. I then install Redhat 6.6 p64. nproc show 4 CPUs.
Why does the OS report 4 times the processor I specify when setting up the machine?
You probably are running SMT 4. The OS has 4 hardware threads to schedule on with one virtual processor, even if the hypervisor will only schedule say 0.2 cores worth of time slices.
Counting hardware threads as "CPUs" is not just in Linux, AIX tools also do that.