【问题标题】:How to minimize memory allocation of mod_perl script?如何最小化 mod_perl 脚本的内存分配?
【发布时间】:2010-12-05 13:51:57
【问题描述】:

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

当我通过 mod_perl 在服务器上生成脚本时,它会占用大量内存。 该实例占用 36 MB。

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

这是运行 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);

【问题讨论】:

    标签: linux mod-perl


    【解决方案1】:

    不,不需要 36 兆字节。

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

    其中大部分将与其他进程(尤其是其他 Apache 工作进程)共享。

    要了解它实际使用了多少内存,请使用一些 Perl 内存分析器。

    【讨论】:

    • 谢谢,马克,这个解释正是我想要的。
    猜你喜欢
    • 2013-06-18
    • 1970-01-01
    • 2013-10-28
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多