Estoy tratando de diagnosticar algunos fallos aleatorios en un servidor sin cabeza y una cosa que parece curiosa es que solo parecen ocurrir bajo presión de memoria y mi tamaño de intercambio no superará 0.
¿Cómo puedo forzar a mi máquina a cambiar para asegurarse de que funciona correctamente?
orca ~ # free
             total       used       free     shared    buffers     cached
Mem:       1551140    1472392      78748          0     333920    1046368
-/+ buffers/cache:      92104    1459036
Swap:      1060280          0    1060280
orca ~ # swapon -s
Filename                                Type            Size    Used    Priority
/dev/sdb2                               partition       1060280 0       -1

kern.logel momento de las segfaults? Un mensaje sobreoom-killerindicaría que su sistema no tiene suficiente memoria virtual, lo que podría significar que no se está utilizando el intercambio. ¿Es este un servidor virtualizado (y de qué tipo)?segfault at 54 ip b7619ba8 sp bf9c3380 error 4si estuviera pensando que es un problema de hardware que será difícil de localizar. Este es un servidor físico con procesadores duales Athlon MP 2000+ y 1.5GB de RAM. Se ejecuta de manera bastante estable pero se daña durante las compilaciones.Respuestas:
¿Es esto Linux? Si es así, puede intentar lo siguiente:
Y luego use uno o varios programas que usen mucha RAM o escriba una pequeña aplicación que solo consume RAM. Lo siguiente hará eso (fuente: http://www.linuxatemyram.com/play.html ):
Agregué el modo de suspensión (1) para darle más tiempo para ver los procesos a medida que engulle ram e intercambia. El asesino OOM debería matar esto una vez que se haya quedado sin RAM y SWAP para dar al programa. Puedes compilarlo con
donde filename.c es el archivo en el que guarda el programa anterior. Luego puede ejecutarlo con ./memeater.
No haría esto en una máquina de producción.
fuente
/proc/self/oom_score_adjasegurarse de que sea la víctima más probable del asesino OOM ...<unistd.h>para dormir, de lo contrario arroja una advertenciawarning: implicit declaration of function ‘sleep’;