在solaris 10机器上运行perl脚本。知道RAM大小是25 GB。有两个问题。
通常分配solaris进程的RAM内存量。它是分配给任何脚本或进程的默认值。它可以设置在哪里?我如何确定我可以拥有多少最大静态数组大小以及我可以分配多少动态内存?我需要发出什么命令才能找到分配给solaris中进程的内存?它是可配置的吗?
当脚本给出了outofmemory错误。这是否意味着它使用了整个RAM和虚拟内存?当脚本抛出内存错误时,有没有办法知道内存是如何使用的?我需要发出什么命令才能在solaris中找到它?
答案 0 :(得分:2)
1)尽可能多地请求,直至ulimit设置的限制。 pmap和ps等命令可以显示进程在当前分配的数量。
2)这可能意味着它使用了所有虚拟内存,或者它达到了进程限制,或者它是一个32位进程并达到了4GB的地址空间限制。 Solaris Application Memory Management提供了更多详细信息。