问题
I'm getting an Out of memory! message for all installs. I've never used cpan before and I'm not really sure how it works. I did a ulimit on the /.cpan directory and it resulted in unlimited. Here's what I'm looking at:
[/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.
回答1:
This is not about increasing memory, but maybe a solution for you.
You can try use cpanm instead of cpan, so:
This will install cpanm for you
$ curl -L http://cpanmin.us | perl - --self-upgrade
and after you can install modules e.g.:
$ cpanm Task::Plack
cpanm needs much less memory.
回答2:
Another reason is that the user you are using to run cpan has a limit on the amount of memory it can use. Issue these commands to use all available memory:
ulimit -m unlimited
ulimit -d unlimited
回答3:
On AIX (as tagged), the culprit is probably unset or too small LDR_CNTRL environment variable.
回答4:
We got the same error (Out of memory!) after AIX Service Packs and Maintenance Level updates. After reinstalling perl to the newest version (compiling from source) the error was gone. We noticed that AIX SP+ML update overwrites the links to our self-installed tools in /usr/bin (make and iconv). We assume the AIX SP+ML update did similar things with the self-installed perl.
回答5:
I've found one solution to CPAN Out of Memory errors is to install swap, assuming you don't have any. There's a good step-by-step tutorial for how to do that on Ubuntu 14.04 (with broader Linux applicability) here.
回答6:
If the issue is running out of memory while using CPAN (I have a server I do perl dev on which I specifically installed 512 megabytes of RAM on), cpanm is your savior as mentioned above. This particular server will bomb slurping the perl contents file so I can't use cpan to update itself. However cpanm fixed everything the first time I used it, and because of it's ease of use and stability, is the ONLY way I maintain my perl servers.
Ron
来源:https://stackoverflow.com/questions/11108029/cpan-shell-runs-out-of-memory-how-can-i-give-it-more-memory-on-unix