【问题标题】:Puppet fails with : Cannot allocate memory - fork(2)Puppet 失败:无法分配内存 - fork(2)
【发布时间】: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


【解决方案1】:

也许你的系统禁用了过度使用,试试:

echo 1 > /proc/sys/vm/overcommit_memory

【讨论】:

    【解决方案2】:

    在下面使用,logstash 在puppy agent -t 命令后自动启动

    systemctl 停止logstash

    这应该可以解决您的问题。

    【讨论】:

    • 你确实知道这个问题已经有六年半了,对吧? OP 肯定早就继续前进了,目前还不清楚这个问题是否仍然与当前的 Puppet 相关。无论如何,尽管我相信这在某些类似于 OP 的特定情况下会有所帮助,但作为通用解决方案似乎不太合理。还有,“小狗”?
    猜你喜欢
    • 2012-07-29
    • 2015-04-27
    • 2017-09-24
    • 2013-08-24
    • 2015-09-22
    • 2015-08-17
    • 2015-10-21
    • 1970-01-01
    • 2017-07-20
    相关资源
    最近更新 更多