Unix 运行Hudson作业时没有足够的空间

Unix 运行Hudson作业时没有足够的空间,unix,memory,jenkins,hudson,solaris,Unix,Memory,Jenkins,Hudson,Solaris,每次运行时,我的Hudson作业都会因以下错误而崩溃: Caused by: java.io.IOException: error=12, Not enough space at java.lang.UNIXProcess.forkAndExec(Native Method) 我在StackOverflow和Jenkins网站上找到了关于此错误的文档,这表明交换空间()存在问题 然而,也许我的问题与此不同,但如果我手动启动该过程,它就可以正常工作。 奇怪的是,我从prstat

每次运行时,我的Hudson作业都会因以下错误而崩溃:

    Caused by: java.io.IOException: error=12, Not enough space
     at java.lang.UNIXProcess.forkAndExec(Native Method)
我在StackOverflow和Jenkins网站上找到了关于此错误的文档,这表明交换空间()存在问题

然而,也许我的问题与此不同,但如果我手动启动该过程,它就可以正常工作。 奇怪的是,我从prstat顶部看到了不同的结果:

规格:

  • Hudson进程在其自己的Unix用户环境中运行
  • 操作系统:SunOS dc5c00-d12 5.10通用_147440-19 sun4v sparc sun4v
  • 内存:

    • 自上而下:

      32G phys mem, 6255M free mem, 16G total swap, 16G free swap
      
    • 来自prstat

      NPROC USERNAME  SWAP   RSS MEMORY      TIME  CPU
      50 user1      12G   12G    39%  89:02:31 0.3%
      36 user2      11G 6779M    21% 155:17:41 0.0%
      26 user3      10G 8509M    26% 4787:37:4 8.0%
       6 hudson    572M  556M   1.7%   0:08:25 0.0%
      57 root      280M  285M   0.9% 138:46:05 0.0%
      
有人能确认我是否有掉期问题吗?热门节目16GB免费

编辑: swap-s的结果(问题暂时解决后)


这当然是一个互换问题

top
报告为不包含分页数据的自由交换块。然而,即使在未使用的情况下,这些块中的一些也可以保留(即未触及的仍然分配的虚拟内存)。当您没有更多的块来支持内存保留时,就会出现“空间不足”异常


swap-s
显示您的应用程序保留的空间超过12GB,而您的交换区域仅为16GB。我会将交换的大小增加一倍,以防止您的虚拟内存不足。

谢谢,我刚刚发布了交换的结果。然而,昨天我杀死了一些在user3下运行的应用程序,现在它消耗的是7GB的交换空间,而不是10 GB。尽管如此,数量仍然不正确,因为swap-s显示4GB可用。但至少它现在起作用了。我发现令人惊讶的是top显示100%的掉期是免费的。。。即使只是保留…您使用的各种命令也不是测量同一事物。什么计数仍然不正确?swap-s和prstat显示的数字不一样。然而,这很可能是因为在这两天之间有什么东西被杀了。但top是最让我吃惊的一款。即使只是保留内存,这个服务器也在运行Oracle DB、WebLogic server、JBoss和Tomcat。。。如果没有真正使用交换而只是保留,我会感到惊讶……请使用
swap-s
prstat-a
或更好的
prstat-Z
输出彼此接近来更新您的问题。比较两天内运行的命令没有意义。如果要检查是否使用Solaris本机命令实际使用了swap,请运行
swap-l
    total: 19940168k bytes allocated + 12578048k reserved = 32518216k used, 4118208k available