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

Re: problemas con espacio de memoria y CPU -> KILLED PROCESS



El Jueves, 2 de Septiembre de 2004 11:28, Christal escribió:
> Hola a todos,
>
> Estoy teniendo un problema con un proceso que ejecuto y no se como
> arreglarlo.
> Trabajo con Mandrake 9.1.
> Tengo un programa hecho en C que simplemente va revisando sus entradas por
> el puerto serie y hace lo que tenga que hacer dependiendo de lo que lea por
> el puerto... para hacer esto tengo que estar revisando constantemente el
> puerto, asi que en la funcion principal del programa (main) tengo un bucle
> que no sale hasta que no pulse "ESC".

No tengo ni idea de como se programa el puerto serie, pero tengo entendido que 
se abre el dispositivo y a partir de hay es un flujo normal. Si estoy en lo 
cierto puedes hacerle un select() para vigilar cuando tiene algo para leer. 
Eso reducira la CPU

> Hasta aqui no hay problemas porque el programa hace todo lo que tiene que
> hacer. El problema viene cuando, por ejemplo, llevo una semana trabajando
> con el, que el programa imprime in "killed" por pantalla y finaliza.
> Aqui es donde no se que debo hacer exactamente, pues no se como
> controlarlo. He hecho un "top" para mirar el estado de la memoria y muestra
> que el programa usa un 62% de CPU y un 40% de MEM.
> Lo que estoy intentando es hacer un sync cada hora (lo he puesto en el
> cron) para que cada hora se resincronice la swap, a ver si eso afecta en
> algo y puede ayudarle a recuperar algo de memoria... 
Estas algo perdido, sync vuelca las caches de disco a disco. Como comprenderas 
el concepto de cache de swap es... imposible. Segun que nucleo tengas puedes 
tocar /proc/sys/vm/swappines. A menor valor, menos va a swap, 0 no va a swap 
nada, 100 casi cualquier cosa. Pero la solucion es usar menos memoria. Como 
se ha dicho ya, yo diria que es un fallo en el codigo, y mandar a swap no lo 
solucionara.

> Tambien estoy 
> intentando iniciar el proceso con el comando "nice" para darle mas o menos
> prioridad al proceso, a ver si asi consigo que no consuma tanto... ahora lo
> he arrancado como "nice -n -19 ./comunicacion" para ver si dandole la
> maxima prioridad consigo que no consuma tanto. Pero no se si asi esta bien
> o deberia de darle la menor prioridad...
con mas o menos prioridad cogera mas o menos CPU, pero no tiene nada que ver 
con la memoria, tardara menos en ocuparla, pero lo hara.
> La cuestion es que de momento he revisado el top y ahora, que lleva 1h en
> marcha, consume 60-63% de CPU y 1.8% de MEM. Pero no se si ira
> incrementando o con esto lo podre controlar...
>
> Alguien sabe de esto? Cual puede ser una solucion? Lo estoy haciendo bien?
> Si alguien necesita mas datos o lo que sea, por favor, que me lo pida que
> gustosa se lo pasare!
>
> Muchisimas gracias de antemano!

de nada



Reply to: