A memória não trocável é chamada de "fixada" e esse é o tipo de memória normalmente usada para o DMA (acesso direto à memória). Você pode marcar uma parte do endereço virtual usando as funções mlock(2)
ou [ mlockall(2)
].
Você pode marcar alguma memória de aplicativo fixada, por exemplo, usando o script do GDB mlock.gdb
:
call mlockall(3)
detach
E bloqueie a memória da sua aplicação usando esse comando:
gdb --pid [PID] --batch -x mlock.gdb