【发布时间】:2014-01-10 22:20:35
【问题描述】:
这是我的傀儡命令:
exec { 'unzip Data.zip':
command => '/usr/bin/unzip -qq -o /vagrant/modules/wls/files/Data.zip -d /weblogic/app',
group => 'vagrant',
user => 'vagrant',
require => File['/weblogic/app/WEB-INF'],
}
这是错误信息:
错误:/Stage[main]/Deploy_webapp/Exec[unzip Data.zip]/returns: change 从 notrun 到 0 失败:无法分配内存 - fork(2)
Vagrant 管理的 Virtual Box 上的 SLES 11SP3
- 1 个处理器
-
4GB RAM(适用于 6GB)
# Use VBoxManage to customize the VM. For example to change memory:vb.customize ["modifyvm", :id, "--memory", "4096"]
【问题讨论】:
-
这是一个 linux 问题,而不是 puppet。你可以在机器上运行 ulimit -a 吗?
-
尝试“free -m”并检查您是否有免费交换
-
这是一个
puppet问题,因为这显然是一个ruby问题,因为unzip命令本身没有问题,只有当exec来自puppet内部时才会出现问题 -
有很多空闲交换空间,除非我增加分配给虚拟机的物理内存,否则它仍然会失败,显然 ruby 比我想象的更占用内存。
标签: ruby linux vagrant puppet unzip