La Web del Programador: Comunidad de Programadores
 
    Pregunta:  34915 - CONSUMO DE RECURSOS DE UN PROGRAMA C
Autor:  Patricio Uribe Leiva
Hola, favor si me pueden ayudar en este tema.

Tengo programa C, que corre en Unix, el cual lee 2 archivos, uno de clientes y otro de movimientos.

Al probarlo con 1.000 clientes y 20.000 movimientos, corre bién, pero al aumentar a 20.000 clientes contra 300.000 movientos se cae, arrojando el siguiente mensaje :

Pid 123 received a SIGSEGV for stack growth failure.
Possible causes: insufficient memory or swap space,
or stack size exceeded maxssiz.
Memory fault(coredump)

Está más o menos claro que los recursos del sistema no son suficientes para el programa.

Pregunta : al leer desde archivo, el buffer usado por C, se podría llenar??

Como ir liberando este espacio después de cada lectura.
Como controlar esas variables que se podrían exceder. (memoria, space swap, stack size).

Les agradeceré me ayuden.

Muchas gracias.

  Respuesta:  Javier R
Ya intentaste usando malloc() y free() ?? eso te podría ayudar, también puedes intentar compilar con un esquema de memoria más grande, pej, si estás compilando con el modelo tiny, puedes cambiarlo a huge ... Be happy