O que você pede (ou seja, mover o uso de memória do processo para swap) ocorrerá automaticamente se o kernel precisar abrir espaço na RAM para um processo ativo enquanto o processo em questão estiver em um estado parado.
Se eu quiser que o processo PID 666 pare de usar minha CPU, posso usar kill -SIGSTOP 666
.
E eu posso usar esse processo normalmente depois de um kill -SIGCONT 666
.
Mas esse processo ainda está usando minha memória.
Existe uma maneira de enviar os dados armazenados na RAM para digamos o disco (talvez trocar), e restaurá-lo depois?
O que você pede (ou seja, mover o uso de memória do processo para swap) ocorrerá automaticamente se o kernel precisar abrir espaço na RAM para um processo ativo enquanto o processo em questão estiver em um estado parado.
Você pode criar um cgroup , adicionar processo a ele e usar a permuta ( /proc/sys/vm/swappiness
) por cgroup para controlar o uso de swap desse grupo em particular. Você também pode forçar a impedir que a memória de determinado processo seja trocada com o mlock (veja man mlock
e man mlockall
).