2009-10-10 5 views
0

나는 간단한 펄 스크립트를 만들었다. 그것이하는 유일한 일은 5 초를 기다리는 것입니다.mod_perl 스크립트의 메모리 할당을 최소화하는 방법은 무엇입니까?

mod_perl을 통해 서버에 스크립트를 생성 할 때 많은 메모리가 필요합니다. 인스턴스는 36 메가 바이트를 사용합니다.

너무 많은 메모리가 할당되는 이유는 무엇입니까? 실행중인 스크립트로 시스템에서 가져온 메모리를 최소화하려면 어떻게합니까?

2 개의 스크립트를 실행할 때 "최상위"유틸리티의 출력입니다.

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); 

답변

0

아니요, 36 메가 바이트는 필요하지 않습니다.

프로세스에서 할당 된 주소 공간의 양입니다. 여기에는 실행 파일에서 매핑 된 공간, 파일에서 mmap() 및 다른 프로세스와 공유되는 공간이 포함됩니다.

대다수는 다른 프로세스 (특히 다른 Apache 작업자 프로세스)와 공유됩니다.

실제로 사용중인 메모리 양을 확인하려면 작업에서 일부 Perl 메모리 프로파일 러를 가져옵니다.

+0

감사합니다. 마크,이 설명은 제가 찾고있는 것입니다. – Pavel

관련 문제