Foros del Web » Administración de Sistemas » Unix / Linux »

Consumo de memoria

Estas en el tema de Consumo de memoria en el foro de Unix / Linux en Foros del Web. Holas... Tengo un codigo que consta de 2 ficheros *.c y un *.h ... - un fichero *.c y el *.h me crean una libreria ...
  #1 (permalink)  
Antiguo 16/09/2005, 05:23
Avatar de kapachov  
Fecha de Ingreso: diciembre-2002
Ubicación: Loeches
Mensajes: 464
Antigüedad: 22 años
Puntos: 0
Consumo de memoria

Holas...

Tengo un codigo que consta de 2 ficheros *.c y un *.h ...
- un fichero *.c y el *.h me crean una libreria para el manejo de SOCKETS.
- otro fichero me crea el ejecutable para manejar la libreria de SOCKETS.

El problema que tengo es el siguiente he pasado el mismo codigo a 2 maquinas diferentes, y en
una me consume memoria y en la otra no! ... la que consume memoria llega un momento en que ya
no puede mas y me sale el siguiente error :

> Thread-ERROR **: file gthread-posix.c: line 351 (): error 'Cannot
> allocate memory' during 'pthread_create'
> aborting...

alguna sugerencia!?
__________________
Siempre hago lo que quiero...
Aunque no quiera...
  #2 (permalink)  
Antiguo 16/09/2005, 08:36
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 22 años, 5 meses
Puntos: 29
Mira cuál proceso te consume memoria en tiempo real con la orden top.

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #3 (permalink)  
Antiguo 17/09/2005, 05:37
Avatar de kapachov  
Fecha de Ingreso: diciembre-2002
Ubicación: Loeches
Mensajes: 464
Antigüedad: 22 años
Puntos: 0
Holas...

ya lo he hecho por el top fue que me di cuenta que estaba consumiendo memoria!

Alguna otra sugerencia...
__________________
Siempre hago lo que quiero...
Aunque no quiera...
  #4 (permalink)  
Antiguo 17/09/2005, 07:53
Avatar de Koveart
Colaborador
 
Fecha de Ingreso: julio-2002
Ubicación: Colombia
Mensajes: 4.407
Antigüedad: 22 años, 5 meses
Puntos: 29
Describenos las características de cada una e las máquinas, kernel, distribución, carcaterísticas de hardware....

Saludos
__________________
“Los soñadores no existen, se lo dice un soñador que ha tenido el privilegio de ver realidades que ni siquiera fue capaz de soñar”
  #5 (permalink)  
Antiguo 17/09/2005, 10:18
 
Fecha de Ingreso: septiembre-2003
Ubicación: Bogotá
Mensajes: 1.024
Antigüedad: 21 años, 3 meses
Puntos: 1
Revise la linea 351 en el archivo gthread-posix.c
Publiquelo para poder analiarlo.
  #6 (permalink)  
Antiguo 19/09/2005, 02:43
Avatar de kapachov  
Fecha de Ingreso: diciembre-2002
Ubicación: Loeches
Mensajes: 464
Antigüedad: 22 años
Puntos: 0
Holas...

Gracias por la colaboracion...

Mira como comento en el 1º post, en un PC no me consume memoria, en un PC 2 (con menos procesador que el 1º) si me consume memoria el mismo codigo fuente ...

Que hace el codigo...
- Crea un socket (server)(1 hilo )
- Se queda a la escucha por una conexion del cliente (server)(1 hilo por cada conexion)
- Se conecta con el servidor (cliente)(1 hilo por cada conexion)
- Al terminar la conexion se cierrran el hilo del cliente y del server.

En la parte del servidor tengo que si llega a 150 hilos = conexiones espere 30 segundos para que se vayan liberando otras conexiones

PC - 1 (funciona) :
Pentium III 801,9 Mhz
128 RAM - 256 SWAP

PC - 2 (no funciona) :
Pentium III 448,1 Mhz
128 RAM - 256 SWAP


Ambos tienen WhiteBoxlinux 4 ...
la version del kernel 2.6.9-5 ...
la version de la glib2 2.4.7-1

/*gthread-posix.c linea 351*/
posix_check_err (ret, "pthread_create");
/*gthread-posix.c linea 351*/
__________________
Siempre hago lo que quiero...
Aunque no quiera...
  #7 (permalink)  
Antiguo 20/09/2005, 10:17
Avatar de kapachov  
Fecha de Ingreso: diciembre-2002
Ubicación: Loeches
Mensajes: 464
Antigüedad: 22 años
Puntos: 0
Holas...

Bueno creo que he encontrado el problema!!!

la verdad no parece ser el codigo ni la maquina en especifico ...
todo apunta a la conexion! es decir ...
cuando el cliente establece la conexion con el servidor... se establece un canal "tubo"... al terminar la conexion el servidor da el close al "socket" PERO aqui esta el dilema! al parecer el cliente no se entera de este cierre!!! y entonces va acumulando canales! y memoria y llega un momento en que el PC se queda sin memoria y por eso el mensaje de error!!!!

Bueno todavia no se como solucionar esto! porque ... porque!!!! pues estoy probando con IP PUBLICAS ... tengo 3 y 3 ROUTERS (3com, Sstream, alcatel)... parece que el problema persiste con el 3com .... porque digo esto porque cuando comunico por el Sstream y alcatel va de lujo la comunicacion!... la maquina que se cualga es la que sale por este router!...

Bueno voy hacer mas pruebas a ver que tal... luego les comento que tal...
__________________
Siempre hago lo que quiero...
Aunque no quiera...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:18.