No Linux, (quase) toda a memória de um processo pode ser trocada, incluindo o heap e a pilha.
No entanto, é possível bloquear páginas de memória na RAM física, para que não possam ser trocadas. Isso é feito usando a mlock
chamada de sistema (ou mlockall
para bloquear todos da memória de um processo). Essa é uma operação privilegiada, portanto, o processo precisa ter o recurso apropriado, CAP_IPC_LOCK
(consulte gnome-keyring-daemon
para um exemplo disso: /sbin/getcap /usr/bin/gnome-keyring-daemon
).