did you put the code I sent attached to the email to the beggining to
vagrantfile?
@code is defined/created in the ruby code i sent
# -*- mode: ruby -*-
# vi: set ft=ruby :
require 'rbconfig'
case RbConfig::CONFIG['host_os'][/^[A-Za-z]+/]
when 'darwin'
@cores = Integer(`/usr/sbin/sysctl hw.ncpu`[/\d+/])
when 'linux'
@cores = if File.exists?("/sys/devices/system/cpu/present")
File.read("/sys/devices/system/cpu/present").split('-').last.to_i+1
else
Dir["/sys/devices/system/cpu/cpu*"].select { |n| n=~/cpu\d+/ }.count
end
when 'mingw', 'mswin'
@cores = Integer(ENV["NUMBER_OF_PROCESSORS"][/\d+/])
else
@cores = nil
end
puts @cores
# Vagrantfile API/syntax version. Don't touch unless you know what you're
doing!
VAGRANTFILE_API_VERSION = "2"
On Sat, Sep 27, 2014 at 1:24 AM, blong <[email protected]> wrote:
> Hi Alvaro,
>
> Thanks for your suggestion. Is there a place where documentation for
> variables like @cores
> is available? I tried something similar, per your suggestion (below),
> however the output is always : "Unable to detect CPU cores, will assign 1
> CPU to the VM".
>
> # Give VM 25% of system cpu cores, with a minimum of 1
> if @cores
> puts "Detected " + @cores + " CPU cores"
> v.customize ["modifyvm", :id, "--cpus", max([@cores/4.to_i, 1]) ]
> else
> puts "Unable to detect CPU cores, will assign 1 CPU to the VM"
> end
>
> Thanks again,
> blong
>
> On Thursday, September 25, 2014 6:33:04 PM UTC-4, Alvaro Miranda Aguilera
> wrote:
>>
>> Hello,
>>
>> Try the attached on top of your Vagrantfile.
>>
>> Vagrant includes his own ruby and some gems, I did copy this from
>> celluloid/cpucount, and tested on OSX.
>>
>> then, on the config block you can do something like this:
>>
>> config.vm.provider "virtualbox" do |v|
>> # Give VM 25% of system cpu cores
>> if @cores
>> v.customize ["modifyvm", :id, "--cpus", @cores/4.to_i ]
>> end
>> end
>>
>>
>> On Fri, Sep 26, 2014 at 3:12 AM, blong <[email protected]> wrote:
>>
>>> I'm new to Ruby, so pardon my ignorance, but is there a way to load
>>> rubygems and require additional libraries? For example, let's say I wanted
>>> to assign %25 of the CPU cores to Vagrant. I need something that's
>>> platform independent, I was thinking something like this:
>>>
>>> require 'rubygems'
>>> require 'facter'
>>> Facter.loadfacts
>>>
>>> config.vm.provider "virtualbox" do |v|
>>> # Give VM 25% of system cpu cores
>>> v.customize ["modifyvm", :id, "--cpus", [((Facter.processorcount)
>>> / 4).to_i, 1].max ]
>>> end
>>>
>>> Any thoughts on how I can achieve this?
>>>
>>> Thanks,
>>> blong
>>>
>>> On Thursday, March 20, 2014 6:28:39 PM UTC-4, Alvaro Miranda Aguilera
>>> wrote:
>>>>
>>>> in one Vagrantfile I found on github,. they use this.
>>>>
>>>> if RUBY_PLATFORM.include? 'linux'
>>>> b.vm.network :bridged, :bridge => "eth0"
>>>> elseif RUBY_PLATFORM.include? 'darwin'
>>>> b.vm.network :bridged, :bridge => "en1: Wi-Fi (AirPort)"
>>>> end
>>>>
>>>>
>>>> I assume, you can check if there is a in/windows or something.
>>>>
>>>> Alvaro.
>>>>
>>>>
>>>> On Fri, Mar 21, 2014 at 9:50 AM, Luis Mayorga <[email protected]>
>>>> wrote:
>>>>
>>>>> This worked!!!
>>>>>
>>>>> if Gem.win_platform?
>>>>>
>>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>> On Thu, Mar 20, 2014 at 4:32 PM, Jeremy Voorhis <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> The Vagrantfile is just a Ruby file that gets evaluated within a
>>>>>> special context that implements the Vagrant DSL. You can definitely
>>>>>> execute
>>>>>> arbitrary Ruby code to specialize your VM.
>>>>>>
>>>>>>
>>>>>> On Thu, Mar 20, 2014 at 1:25 PM, Luis Mayorga <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> I need to detect which platform is running vagrant. (We have vagrant
>>>>>>> windows/mac users) and need to setup some initial variable values for
>>>>>>> some
>>>>>>> of the configuration parameters.
>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "Vagrant" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>>
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Jeremy Voorhis
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to a topic in
>>>>>> the Google Groups "Vagrant" group.
>>>>>> To unsubscribe from this topic, visit https://groups.google.com/d/to
>>>>>> pic/vagrant-up/lhd9_WfySXo/unsubscribe.
>>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>>> [email protected].
>>>>>>
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Vagrant" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Vagrant" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
> You received this message because you are subscribed to the Google Groups
> "Vagrant" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>
--
You received this message because you are subscribed to the Google Groups
"Vagrant" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
# -*- mode: ruby -*-
# vi: set ft=ruby :
require 'rbconfig'
case RbConfig::CONFIG['host_os'][/^[A-Za-z]+/]
when 'darwin'
@cores = Integer(`/usr/sbin/sysctl hw.ncpu`[/\d+/])
when 'linux'
@cores = if File.exists?("/sys/devices/system/cpu/present")
File.read("/sys/devices/system/cpu/present").split('-').last.to_i+1
else
Dir["/sys/devices/system/cpu/cpu*"].select { |n| n=~/cpu\d+/ }.count
end
when 'mingw', 'mswin'
@cores = Integer(ENV["NUMBER_OF_PROCESSORS"][/\d+/])
else
@cores = nil
end
puts @cores
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"