2009-10-22 60 views
4

我正試圖學習如何配置perl內存。爲什麼我的腳本在使用mod_perl運行時使用更多內存?

我有一個非常簡單的Perl hello-world腳本,我想知道它在內存中的大小。

我使用GTop實用程序來測量內存(由Stas Beckman設計的recommended in mod_perl book)。 GTop提供了令我困惑的結果。

當我從命令行運行腳本GTop說:7M。

當我在mod_perl下運行它時,GTop說:54M。

爲什麼這麼多?!

爲什麼腳本內存在mod_perl下增長很多? 或者我可能以錯誤的方式測量內存? 你如何剖析perl腳本內存?

下面是腳本,其輸出(I已經添加逗號手動容易地讀取的數字)

> perl simple.pl 

size: 7,282688 
share: 2,027520 
diff: 5,255168 
  • 運行mod_perl下從命令行

    1. 運行

       
      size: 54,878208 
      share: 4,661248 
      diff: 50,216960 
      

    腳註牛逼simple.pl

    #!/usr/bin/perl 
    
    use strict; 
    use warnings; 
    use CGI(); 
    
    my $cgi = CGI->new; 
    
    print $cgi->header('text/plain'); 
    
    use GTop; 
    
    print "Hello, world!\n"; 
    my $m = GTop->new->proc_mem($$); 
    print "size: ".$m->size."\n"; 
    print "share: ".$m->share."\n"; 
    my $diff = $m->size - $m->share; 
    print "diff: $diff\n"; 
    
  • 回答

    相關問題