2012-06-19 2 views
4

모든 설치에 대해 Out of memory! 메시지가 표시됩니다. 나는 전에 cpan을 사용 해본 적이 없으며 어떻게 작동하는지 잘 모르겠습니다. 나는 /.cpan 디렉토리에 ulimit을 했으므로 무제한. 여기 내가 뭘보고있어 :CPAN 셸에서 메모리가 부족합니다. 유닉스에서 어떻게 더 많은 메모리를 줄 수 있습니까?

[/usr/bin]# perl -MCPAN -e shell 
Terminal does not support AddHistory. 

cpan shell -- CPAN exploration and modules installation (v1.7602) 
ReadLine support available (try 'install Bundle::CPAN') 

cpan> install Term::Readline 
CPAN: Storable loaded ok 
Going to read /.cpan/Metadata 
Going to read /.cpan/sources/authors/01mailrc.txt.gz 
Going to read /.cpan/sources/modules/02packages.details.txt.gz 
    Database was generated on Tue, 19 Jun 2012 11:51:03 GMT 
CPAN: HTTP::Date loaded ok 

    There's a new CPAN.pm version (v1.9800) available! 
    [Current version is v1.7602] 
    You might want to try 
    install Bundle::CPAN 
    reload cpan 
    without quitting the current session. It should be a seamless upgrade 
    while we are running... 

Out of memory! 
Terminal does not support GetHistory. 
Lockfile removed.
+4

메모리 풋 프린트는 – Joe

+1

이'CPAN'에 따르면 $ ulimit를 -a –

+1

당신의 출력을 보여줍니다 존재 [cpanm] (http://search.cpan.org/perldoc?cpanm) 이유 중 하나였다 2005 년에 * Changes * file,'1.80'이 발표되었습니다. CPAN 쉘이 실제로 메모리가 부족하다고 가정하고 있습니다 만, 아마도 여러분이 돌고있는 perl'과 시스템의 나머지 부분 사이에는 약간의 비호 환성이 있습니다 . '$ perl -v'는 무엇을 인쇄합니까? –

답변

11

이것은 증가 메모리에 관한 것이 아니라 아마도 당신을위한 해결책입니다.

당신은 너무 대신 CPAN의 cpanm를 사용하여 시도 할 수 있습니다 :

이것은 당신이 모듈 예를 들어 설치 할 수 있습니다

$ curl -L http://cpanmin.us | perl - --self-upgrade

에 대한 cpanm를 설치 한 후됩니다

$ cpanm Task::Plack

cpanm 필요 많은 적은 메모리.

4

또 다른 이유는 cpan을 실행하는 데 사용하는 사용자가 사용할 수있는 메모리 양에 제한이 있기 때문입니다.

ulimit -m unlimited 
ulimit -d unlimited 
0

AIX에서 (태그가있는대로), 범인은 아마도 LDR_CNTRL 환경 변수가 설정되지 않았거나 너무 작을 수 있습니다.

0

AIX 서비스 팩 및 유지 보수 레벨 업데이트 후에도 동일한 오류 (메모리 부족!)가 발생했습니다. Perl을 최신 버전 (소스에서 컴파일)에 다시 설치 한 후에 오류가 사라졌습니다. AIX SP + ML 업데이트가/usr/bin에있는 자체 설치 도구의 링크를 덮어 씁니다 (make 및 iconv). 우리는 AIX SP + ML 업데이트가 자체 설치 perl과 비슷한 일을했다고 가정합니다.

0

CPAN을 사용하는 동안 메모리 부족 문제가 발생하면 (특히 512 메가 바이트 RAM을 설치 한 서버가 있습니다.) cpanm은 위에 언급 한대로 구원자입니다. 이 특정 서버는 perl 콘텐츠 파일을 폭음으로 폭파 할 것이므로 cpan을 사용하여 자체 업데이트 할 수는 없습니다. 그러나 cpanm은 처음 사용했을 때 모든 것을 고쳤으며, 사용하기 쉽고 안정적이어서 perl 서버를 유지 관리하는 유일한 방법입니다.