Por que o Linux estaria eliminando meu processo?

0
  • Redhat Linux Enterprise Server 5.10 (Eu sei que é antigo, não posso mudar isso)
  • Esta máquina é virtualizada usando o VMTools.
  • Memória total para esta VM: 32 GB. Espaço total de troca de disco (memória virtual): 36 GB. 900 GB restantes na unidade principal.
  • O Terminal é Hummingbird Exceed v14 no Windows 7. (Eu não posso alterar nenhum destes.)
  • Eu não sou um administrador de sistemas real, apenas programo na máquina. Então, instruções mais detalhadas seriam úteis, como onde estão os logs e o que procurar.

Quando estou executando um programa que lê 7000 linhas de uma planilha (que não é tão grande), às vezes meu processo será simplesmente interrompido e o terminal desaparece.

  • Quais são alguns dos motivos pelos quais o sistema operacional pode matar meu processo?
  • O servidor físico em que a VM reside estava muito ocupado ontem, quem sabe quanta memória as outras VMs neste servidor estavam usando, mas meus 32 GB de memória não deveriam ser reservados apenas para minha VM?
  • O VMTOOLS examinaria todas as máquinas virtuais quando a memória fica baixa e escolhe VMs aleatórias e recursos aleatórios para matar? (Meu processo estava usando 95-99% do tempo de CPU, mas, novamente, achei que era apenas para minha VM.)

Obrigado. Estou muito presa aqui.

EDIT 1: Eu verifiquei / var / log / syslog e ignorei vários tipos de linhas usando grep -v e o que eu vi quando fui expulso, toda vez que parece que alguns cron jobs com recursos ambiciosos estavam rodando. Eu acho que foi o que aconteceu.

Agora, minha pergunta é: agora posso limitar a memória e o espaço de troca que essas tarefas agendadas usam, para que a memória não seja usada e meu terminal não seja morto? Existe algo que eu possa fazer no nível do SO?

EDIT 07/12/2017: Após uma investigação mais aprofundada com top , não estamos nem perto de usar memória, espaço de troca ou espaço no disco rígido. Então, algo mais está acontecendo e a TI está investigando isso.

    
por Bulrush 30.11.2017 / 16:32

1 resposta

1

Now my question is, now can I limit the memory and swap space these cron jobs use, so the memory is not used up and my terminal doesn't get killed? Is there something I can do at the OS level?

Sim. Leia com atenção setrlimit (2) . Você deseja usar o ulimit bash adequadamente.

Esteja ciente do comprometimento de memória .

    
por 30.11.2017 / 19:20