[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