Linux x86_64Memória#27
mincore
Consulta quais páginas de um mapeamento de memória estão atualmente residentes em RAM.
Descrição
Preenche um vetor de bytes, um por página, indicando presença em memória física — útil para diagnosticar pressão de memória e comportamento de cache de um mapeamento.
Header:
sys/mman.hman 2Assinatura
int mincore(void * addr, size_t length, unsigned char * vec);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| addr | void * | Início da região a consultar, alinhado ao tamanho de página. |
| length | size_t | Tamanho da região. |
| vec | unsigned char * | Recebe um byte por página (bit menos significativo indica residência). |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | addrvoid * |
| rsi | argumento 2 | lengthsize_t |
| rdx | argumento 3 | vecunsigned char * |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EAGAIN(11)
- Recurso temporariamente indisponível (tente novamente); também conhecido como EWOULDBLOCK.
- EFAULT(14)
- Endereço de memória inválido (ponteiro fora do espaço de endereçamento válido).
- EINVAL(22)
- Argumento inválido.
- ENOMEM(12)
- Memória insuficiente para completar a operação.