- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在带有 ubuntu64 16.04 的 MacOS 上使用 Vagrant。运行 htop
,我可以看到 vagrant ssh
进程实际上可以使用 530G(在 VIRT
列中)。
这是Vagrant的正常行为吗?我应该 panic 吗?在具有 120G 磁盘和 16G RAM 的 Mac 上实际上拥有 530G 是否“正常”?还是我没有理解 VIRT
的含义?
vagrant box 在 virtual box 上运行,只分配了 1G 的 RAM。
最佳答案
通过 chrisroberts 回答在 github :
Hi! I was able to reproduce this behavior, but with any vagrant command executed. The vagrant ssh command is the easiest to see this behavior simply because the process is left running for as long as the ssh session is alive.
The tl;dr version of below is simply: Don't worry about it. VIRT isn't allocated memory. If it were, you would either need massive swap space, or nothing would be working.
So, what's going on here? The vagrant installer includes a small go executable (vagrant) whose job is to setup the current environment with the proper locations of everything it needs. The installers bin directory, the lib directory for ruby and all the other friends, all the gems, and the vagrant gem itself. Once it has all this configured, it spawns off a new process, the actual Ruby vagrant process.
Because your example was referencing vagrant ssh, and as was previously pointed out (#7296 (comment)) a Kernel.exec happens meaning the Ruby process does not persist, I figured it must be the wrapper that was the culprit. After a bit of searching (mostly to find stackoverflow items saying "don't worry about VIRT") I stumbled upon:
They refer to the golang FAQ that talks about a bunch of VIRT being claimed up front and it not being a big deal, but never any absolutes about how much was actually being claimed. A link to lwn was dropped in there (keybase/keybase-issues#1908 (comment)) regarding golang's behavior on startup of claiming a huge chunk of VIRT, but still everything referenced a much lower amount than I was seeing locally. So I decided to go dig into the golang runtime code, and within malloc.go we find the answer:
The why it's happening is because of the go wrapper used to start vagrant. Because the VIRT you see is simply a reservation and not actually allocated, it's not a problem and not something that should be worried about.
(There are some interesting conversations on the golang ML around the pros and cons of this approach, all pretty great reads).
这只是一个复制/粘贴(并加粗了 TLDR),希望它可以帮助其他人。
关于macos - htop 说 "530G"in "VIRT"for "vagrant ssh",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39875367/
我在生产环境中有一个 python 应用程序(在 CentOS 6.2/Python 2.6.6 上)占用了: 800M VIRT / 15M RES / 2M SHR 在 (Fedora 16/Py
我在 virt-manager 中设置了一个 Windows 10 虚拟机,它在我的笔记本电脑上运行起来就像一个魅力。但当我在工作时,我想使用双显示器设置。我尝试添加第二个 QXL 监视器,我可以在
看完wiki libvirt我开始 virt-install 从 Debian10 netinstall ISO 镜像安装 VM: % sudo virt-install --debug --conn
我安装了Ubuntu18.04 kvm-qemu 虚拟化设置中的桌面,它正在工作。我发现在虚拟机的 virt-manager 设置中有一个直接内核启动选项。我想从主机使用 gdb 调试内核。 请帮助查
我在 Android Studio 模拟器中遇到问题,我在运行项目时收到此消息 C:\Users\User\AppData\Local\Android\sdk\tools\emulator.exe
在容器中运行 libvirtd 服务 - 使用以下链接中列出的步骤 - http://www.projectatomic.io/blog/2014/10/libvirtd_in_containers/
我在 ubuntu 服务器上,我一直在寻找如何通过 vnc 连接到本地虚拟机以继续设置。我使用 安装虚拟机 sudo virt-install --virt-type kvm --name debia
我有一个运行了很多线程的进程。当我使用该进程 ID 执行 top -H -p 时,输出中的 VIRT 和 RES 对于进程运行期间的所有线程始终相同。 这是什么意思? 最佳答案 您会看到相同的值,因为
我有一个设置,我通过 virt-install 执行新 VM 的 kickstart。 一切运行正常,但虚拟机没有按照 kickstart 文件中的指示执行重启,而是关闭了。 VM主机为运行libvi
有没有人成功让 community.libvirt.virt 模块与 Ansible 一起工作?我找不到包含所有必要步骤的完整指南。我在 AWS EC2 上运行 Ubuntu 18。 我一直试图让这个
安装了 virt-manager, 目标虚拟机是安装了 spice-vdagent 的 debian jessie 共享剪贴板,无延迟鼠标输入有效 展示:香料 视频:QXL channel spice
我已经在 Linux Mint 20 上安装了 qemu virt-manager libvirt,我有一个 AMD FX(tm)-4300 四核处理器,在 bios 中启用了 AMD-V,重新启动了
是否可以让 virt-viewer 以 2 个显示器启动? 背景:我们有一个基于 linux 的零售系统,通常在具有多个显示器的终端上运行。基本上,当 X 启动时,我们会检测连接了多少显示器并基于此配
我已经在笔记本电脑上安装了 KVM/QEMU/libvirt,并尝试使用 virt-manager 访问它。当我运行 sudo virt-manager -c qemu:///system 时,出现以
此 HTOP 输出中的 VIRT 列是什么意思?它以红色和粗体显示。 我正在运行一个具有 4 个节点 的 Elasticsearch 集群并为海量数据编制索引。 1700 个索引,包含 3 个分片,一
我在带有 ubuntu64 16.04 的 MacOS 上使用 Vagrant。运行 htop,我可以看到 vagrant ssh 进程实际上可以使用 530G(在 VIRT 列中)。 这是Vagra
我正在使用 Ubuntu 12.10 64 位上的 kvm 虚拟化 Windows 7 镜像。以下是我机器的规范: CPU:英特尔 i7-2860WM ,8G 内存 我正在使用使用 Windows 7
我想使用 docker 下载一个 vagrant windows 镜像并在其上下载 selenium jar 并让它启动一个 selenium 集线器。我不确定最好的方法是什么,或者即使它是可能的。我
扩展 org.teiid.translator.ws 以通过迭代分页 Web 服务返回的所有页面来读取完整的记录集的好方法是什么? 最佳答案 由于结果分页不是任何 REST API 标准的一部分(与
我正在使用 jasper 报告服务器 6.2.0,我们有一些生成多达 50k、60k 页的巨大报告。前 300 页将存储在内存中,其余页面将在/opt/jasper-report-server/apa
我是一名优秀的程序员,十分优秀!