shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: RES: [shell-script] Limites...


From: Humberto Pereira
Subject: Re: RES: [shell-script] Limites...
Date: Thu, 02 Feb 2006 13:12:59 -0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050923 Debian/1.7.12-0ubuntu05.04

Olah,

Reinaldo Carvalho wrote:
> Eu acho que ele quis perguntar, quantos bytes eu posso por em uma
> variável do bash. (considerando que não foi configurado nenhum limite
> de alocação de memória do security/limits.conf)
> 
> tipo assim..
> a=a
> i=0
> while true ; do a=$a$a ; let i++ ; echo \$a contem $i bytes ; done
> 
> até onde isso vai? hehehe


Acredito q esse limite seja a memoria do sistema. Veja alguns testes:

[begnini 0 coke tmp]$ echo $BASH_VERSION
3.00.16(1)-release
[begnini 0 coke tmp]$ ls -lh file
-rw-r--r--  1 begnini begnini 50M 2006-02-02 12:01 file
[begnini 0 coke tmp]$ a=`cat file`
[begnini 0 coke tmp]$ echo -n "$a" > file2    (varios minutos depois...)
[begnini 0 coke tmp]$ diff file file2
[begnini 0 coke tmp]$

Ou seja, consegui criar uma variavel com 50 MB de conteudo sem problema
algum, tirando o gasto de memoria, claro.


Com um arquivo um pouco maior...

[begnini 0 coke tmp]$ ls -lha t
-rw-r--r--  1 begnini begnini 119M 2006-02-02 12:19 t
[begnini 0 coke tmp]$ a=`cat t`  (alguns minutos depois...)
[begnini 0 coke tmp]$ ps aux | grep bash
bash: fork: Não foi possível alocar memória

Ae a maquina morre :)

Versoes antigas do BASH tinham limite no tamanho da variavel. Se nao me
engano BASH 2.0 tinha como limite 64 kb.

PS: algo interessante eh a alocacao de memoria do BASH. Mesmo depois de
ter dado um unset a ou a="", o BASH continuava gastando quase a mesma
quantidade de memoria. P/ liberar a memoria do sistema, apenas matando o
shell.


[]s
Humberto Pereira


reply via email to

[Prev in Thread] Current Thread [Next in Thread]