[FUG-BR] kern.ipc.shmmax
Carlos A. M. dos Santos
unixmania em gmail.com
Terça Fevereiro 12 02:34:43 BRST 2008
On Feb 11, 2008 4:26 PM, mateusgra <mateusgra em bol.com.br> wrote:
> Tenho um servidor freeBSD 6.2 / AMD64 com 4GB de ram qdo eu executo o comando para liberar mais memoria compartilhada "sysctl -w kern.ipc.shmmax=3145728000" que seria 3GB ele transforma esse numero em "-1149239296" o numero fica negativo não tem como liberar mais memoria ?
O sysctl está configurando o valor corretamente, mas exibindo errado.
O problema é que o valor é guardado num inteiro de 32 bits. O número
-1149239296, quando quardado em 32 bits na notação de complemento de
2, tem a mesma representação que 3145728000. Para ver isto basta
digitar, na linha de comando
% printf '0x%x\n' 3145728000
0xbb800000
% printf '0x%x\n' -1149239296
0xffffffffbb800000
No segundo caso os "ffffffff" mais à esquerda podem ser desprezados.
Eles aparecem porque o printf usa inteiros de 64 bits.
--
Carlos A. M. dos Santos
Mais detalhes sobre a lista de discussão freebsd