如何最小化mod_perl脚本的内存分配?

时间:2009-10-10 10:30:19

标签: linux mod-perl

我创建了一个简单的perl脚本。 它唯一能做的就是等待5秒钟。

当我通过mod_perl在服务器上生成脚本时,需要大量内存。 该实例需要36兆字节。

为什么分配了这么多内存? 如何最小化运行脚本从系统中获取的内存?

这是运行2个脚本时“top”实用程序的输出。

 5162 www-data  25   0 36732 8124 2868 S  1.3  3.1   0:00.05 apache2
 5161 www-data  25   0 36732 8124 2868 S  0.7  3.1   0:00.04 apache2

剧本。

#!/usr/bin/perl
use CGI;

my $query= new CGI;
my $content = "5 second delay...\n";

$query->header(
    '-Content-type' => "text/plain",
    '-Content-Length' => length($content)
);

print $content;

sleep(5);

1 个答案:

答案 0 :(得分:0)

不,它不需要36兆字节。

这是在流程中分配的地址空间量。它包括从可执行文件映射的空间,从文件映射的mmap(),以及与其他进程共享的关键空间。

其中绝大多数将与其他进程(尤其是其他Apache工作进程)共享。

要了解它实际使用了多少内存,请在工作中获取一些Perl内存分析器。