<div class="markdown">
<p dir="auto">Puedes liberar la memoria con die() </p>

<p dir="auto">Es decir, el proceso va a liberar la memoria (a.k.a. <code>free()</code>) pero eso no le va a devolver la memoria al kernel. Solo terminando el proceso se logra eso.</p>

<p dir="auto">saludos</p>

<p dir="auto">On 3 Dec 2015, at 10:12, Alberto Mijares wrote:</p>

<blockquote>
<p dir="auto">Hola lista, un gusto saludarlos:</p>

<p dir="auto">Hice una pruebita para comprobar una hipótesis y no tuve el resultado esperado.</p>

<p dir="auto">Tengo un programita donde se contruye un array considerablemente<br>
grande; pero después de usarlo quisiera destruirlo y liberar esa<br>
memoria utilizada mientras se termina de ejecutar el programa.</p>

<p dir="auto">Pensé que con</p>

<p dir="auto">undef @array;</p>

<p dir="auto">podía lograrse lo que quería. Así que hice un one-liner para si<br>
efectivamente funcionaba.</p>

<p dir="auto">$ perl -E '$t="A"x1024;for(1..50000){push(@t,$t);};say"revisa";sleep(10);undef(@t);say"revisa";sleep(10);'</p>

<p dir="auto">Viendo la ejecución del programa con top(1), se supone que después que<br>
dice "revisa" la segunda vez debo ver menos memoria utilizada, pero<br>
no. Los valores tanto de SIZE como de RES permanecen iguales.</p>

<p dir="auto">No dudo que se haya destruido el arreglo (aunque no lo he probado)<br>
pero ¿por qué no se libera la memoria?</p>

<p dir="auto">Gracias de antemano.</p>

<p dir="auto">Saludos</p>

<p dir="auto">Alberto Mijares</p>

<hr>

<p dir="auto">caracas-pm mailing list<br>
<a href="mailto:caracas-pm@pm.org">caracas-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/caracas-pm">http://mail.pm.org/mailman/listinfo/caracas-pm</a></p>
</blockquote>

</div>