vagrant
                                
                                
                                
                                    vagrant copied to clipboard
                            
                            
                            
                        Vagrant Freezes in 10 minutes in Mac OS Montery
Vagrant version
Vagrant 2.214 to 2.2.19
Host operating system
MAC Monterey 12.2.1
Guest operating system
Ubuntu 18.04 and Ubuntu 20.04
Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
username = File.readlines("#{Dir.pwd}/.username").first.strip #get the developers username from the host mac custom config file
ssh_pub_key = File.readlines("#{Dir.home}/.ssh/id_rsa.pub").first.strip #get the current users pub key from the host mac
Vagrant.configure(2) do |config|
    config.nfs.map_uid = Process.uid
    config.nfs.map_gid = Process.gid
    config.ssh.forward_agent = true
    # Virtual box config
    config.vm.provider "virtualbox" do |vb, override|
        host = RbConfig::CONFIG['host_os']
        # Give VM 1/4 system memory & access to all cpu cores on the host
        # previously setting was "3048"
        if host =~ /darwin/
            cpus = `sysctl -n hw.ncpu`.to_i
            # sysctl returns Bytes and we need to convert to MB
            mem = 4096
        elsif host =~ /linux/
            cpus = `nproc`.to_i
            # meminfo shows KB and we need to convert to MB
            mem = `grep 'MemTotal' /proc/meminfo | sed -e 's/MemTotal://' -e 's/ kB//'`.to_i / 1024 / 3
        else # sorry Windows folks, I can't help you
            cpus = 2
            mem = 3024
        end
        # after some testing I found that having more than 4 cpus decreased performance
        if cpus > 4
            cpus = 4
        end
        vb.gui = false
        vb.customize ["modifyvm", :id, "--memory", mem]
        vb.customize ["modifyvm", :id, "--cpus", cpus]
        vb.customize ["modifyvm", :id, "--cpuexecutioncap", "100"]
        vb.customize ["modifyvm", :id, "--name", "magento2-devbox-pci"]
        override.vm.box = "bento/ubuntu-18.04"
        override.vm.box_version = "202105.25.0"
        override.vm.hostname = "local"
        override.vm.network "private_network", ip: "192.168.33.99"
        if host =~ /linux/ # The NFS tuning below breaks 'vagrant up' so keep using old method
            override.vm.network "forwarded_port", guest: 3306, host: 3306 # forward default mysql port
            override.vm.synced_folder "../", "/var/www", :nfs => { :mount_options => ["dmode=777","fmode=775"] }
        else
            # override.vm.network "forwarded_port", guest: 3306, host: 3306 # forward default mysql port
            # The NFS settings have been tuned to maximise performance
            # To test performance run this command when ssh'ed into the vagrant:-
                # dd if=/dev/zero of=/var/www/test bs=1M count=100
            # Take note of MB/s
            override.vm.synced_folder "../", "/var/www",
                nfs: true,
                mount_options: ["rw", "vers=3", "tcp"],
                linux__nfs_options: ["rw", "no_subtree_check", "insecure", "all_squash", "async", "noacl"]
        end
config.vm.synced_folder ".", "/vagrant", owner: "#{username}", group: "#{username}" #set owner of vagrant folder to custom dev user
    end
config.vm.provision "file", source: "#{Dir.home}/.ssh/id_rsa", destination: "/home/vagrant/.ssh/id_rsa" #copy host mac priv key to vagrant user - needed later in vm-SETUP script that runs inside vagrant
config.vm.provision 'shell', inline: "echo #{ssh_pub_key} >> /home/vagrant/.ssh/authorized_keys", privileged: false #import into vagrant authorized_keys host pub key
config.vm.provision 'shell', inline: "echo #{ssh_pub_key} >> /home/vagrant/.ssh/id_rsa.pub", privileged: false #import into vagrant id_rsa.pub
config.vm.provision "shell", inline: "/vagrant/local.sh vm:setup" # this does all the magic on the first run of the new vagrant box
config.ssh.private_key_path = "#{Dir.home}/.ssh/id_rsa" #use the mac host pub/private key to log into vagrant - THIS IS ADDED BY VM-SETUP
config.ssh.username = "#{username}" #log into the vm using the custom username - THIS IS ADDED BY VM-SETUP
end
Debug output
After 10 mins of idle time, Vagrant is freezed and we are running the "vagrant reload" command to go to VM. Running vagrant reload in 10 mins once is very hectic jobs and required the native solutions.
Expected behavior
Vagrant should not be freezed in 10 mins. Atleast vagrant has to be run 8 hours in a day with out freeze.
Actual behavior
After 10 mins of idle time, Vagrant is freezed and (/var/www) folder not working. we are running the "vagrant reload" command to go to VM again.
Steps to reproduce
N/A
References
N/A
Team, Looking for the positive reply.
I have this issue as well. I dont think its specific to the Guest OS
Same issue here
Hi there,
Is this issue encountered when connected to the guest after running vagrant ssh ?
Not always but when the hanging happens
- my web server in the machine will stop running
 - if I vagrant ssh, it will out put the first few lines that normally output when you run the command but suddenly stop in the middle. Or, it ssh's correctly but the terminal output will freeze mid command or mid execution.
 
If I restart my computer, it goes back to normal, but for only a few hours perhaps.
The same case is with me also. System configuration as:
- Vagrant : 2.2.16
 - VBox : 6.1.32
 - OS : MacOS Monterey 12.4
 
Once the webserver and vagrant ssh hanged, I need to close the machine from VBoX and run vagrant up, after vagrant up it's up and running for a few mins.
System restarts also same with vagrant up.
Hi there,
It looks like this has been resolved within a previously shipped version of Vagrant so I am now closing this issue. If the original issue was not fully resolved, please reopen this issue or create a new one.
Cheers!