Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Vagrant snippet to set VirtualBox guest CPU count to the number of host cores on Linux or OS X (broken 2018)
gem 'concurrent'
require 'concurrent'
config.vm.provider "virtualbox" do |vb|
v.cpus = Concurrent.physical_processor_count
end
@CpuID

This comment has been minimized.

Copy link

commented Jul 10, 2013

Works well :)

@amberj

This comment has been minimized.

Copy link

commented Jul 26, 2013

You can use this snippet:
grep "^processor" /proc/cpuinfo | wc -l
instead of:
awk "/^processor/ {++n} END {print n}" /proc/cpuinfo 2> /dev/null || sh -c 'sysctl hw.logicalcpu 2> /dev/null || echo ": 2"' | awk \'{print \$2}\'

@dmichael

This comment has been minimized.

Copy link

commented Aug 21, 2013

Great stuff.

@aygee

This comment has been minimized.

Copy link

commented May 9, 2014

You can use this to get the count of physical cores only

grep "^core id" /proc/cpuinfo | sort | uniq | wc -l | tr -d '\n'
@neutrinus

This comment has been minimized.

Copy link

commented Oct 30, 2014

or just use nproc.to_i :)

@Trophime

This comment has been minimized.

Copy link

commented Dec 6, 2017

cpus=`nproc`.to_i
cpus = cpus / 2

This becomes problematic when cpus=1. What shall I do to prevent cpus to return 0? Is there some kind of min/max functions somewhere?

@WIZARDISHUNGRY

This comment has been minimized.

Copy link
Owner Author

commented Feb 12, 2018

updated for 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.