
- Redhat Linux Enterprise Server 5.10 (sé que es antiguo, no puedo cambiarlo)
- Esta máquina está virtualizada usando VMTools.
- Memoria total para esta VM: 32 GB. Espacio total de intercambio en disco (memoria virtual): 36 GB. Quedan 900 GB en el disco principal.
- La terminal es Hummingbird Exceed v14 en Windows 7. (No puedo cambiar ninguno de estos).
- No soy un verdadero administrador de sistemas, solo programo en la máquina. Por lo tanto, serían útiles instrucciones más detalladas, como dónde están los registros y qué buscar.
Cuando ejecuto un determinado programa que lee 7000 líneas de una hoja de cálculo (que no es tan grande), a veces mi proceso simplemente se cancela y la terminal desaparece.
- ¿Cuáles son algunas de las razones por las que el sistema operativo podría interrumpir mi proceso?
- El servidor físico en el que reside esta VM estuvo muy ocupado ayer, quién sabe cuánta memoria estaban usando las otras VM en este servidor, pero ¿no deberían reservarse mis 32 GB de memoria solo para mi VM?
- ¿VMTOOLS examinaría todas las máquinas virtuales cuando la memoria se agote y elegiría máquinas virtuales aleatorias y acaparadores de recursos aleatorios para eliminar? (Mi proceso utilizaba entre el 95% y el 99% del tiempo de la CPU, pero nuevamente pensé que era solo para mi VM).
Gracias. Estoy realmente atrapado aquí.
EDITAR 1: revisé /var/log/syslog e ignoré varios tipos de líneas grep -v
y lo que vi fue que cuando me expulsaron, cada vez parecía que se estaban ejecutando algunos trabajos cron codiciosos de recursos. Creo que eso es lo que pasó.
Ahora mi pregunta es, ¿puedo limitar la memoria y el espacio de intercambio que usan estos trabajos cron, para que la memoria no se agote y mi terminal no muera? ¿Hay algo que pueda hacer a nivel del sistema operativo?
EDITAR 7/12/2017: Después de una mayor investigación con top
, no estamos ni cerca de consumir memoria, espacio de intercambio o espacio en el disco duro. Entonces algo más está sucediendo y TI lo está investigando.
Respuesta1
Ahora mi pregunta es, ¿puedo limitar la memoria y el espacio de intercambio que usan estos trabajos cron, para que la memoria no se agote y mi terminal no muera? ¿Hay algo que pueda hacer a nivel del sistema operativo?
Sí. Lea cuidadosamenteestablecer límite(2). Quieres usar elulimit
bash incorporadoadecuadamente.
Ser consciente decompromiso excesivo de memoria.