01/08/2013, 20:06
|
| | Fecha de Ingreso: mayo-2011
Mensajes: 49
Antigüedad: 13 años, 6 meses Puntos: 0 | |
Liberar recursos en tiempo de ejecución Hola de nuevo publico este hilo por que tengo un problema que no he podido solucionar y en verdad lo he intentado pero no doy con la solucion.
Administro un pequeño servidor en el cual alojo programas desarrollados por mi en c ,los cuales en apariencia funciona bien pero hace 4 semanas aproximadamente note un problema al usar la funcion TOP y FREE de linux con las cuales detecte que todas mis aplicaciones despues de unas horas de uso empiesan a consumir memoria de una maner desproporcionada.
La aplicacion que me da mas dolores de cabeza .recien se inicia ocupa el 3% de la ram y depues de unas 8 horas de trabajo consume el 15% de esta lo cual me esta dando muchos problemas ya que es necesario cerrarla y abrirla para liberar los recursos.
entrar a explicar que hace es un poco extenso pero en general mediante timers acivo funciones cada cierto tiempo que usan variables locales en su mayoria y una que otra publica o global del tipo char buffer[2000];
Nunca hago uso de la funcion malloc ,new,delete o free que segun lei podian ser la causa del problema.
use una funcion para liberar cache pero no afecta a mis aplicaciones.
sudo sync && sudo sysctl -w vm.drop_caches=3
no tengo una formacion academica en programcion ,o es muy basica la mayoria de cosas que he creado han sido de manera empirica ..por lo cual supongo que debe haber algo que no estoy teniendo en cuanta a la hora de programar
Agradesco cualquier aporte. |