Isso não é possível em geral: o kernel não retém os valores originais (pelo menos no Linux isso não acontece, e isso provavelmente é verdade para outras variantes do unix). O valor da configuração é armazenado em uma variável; Quando você altera a configuração, a memória que contém a variável é atualizada de forma irreversível.
Para a maioria das configurações, o valor inicial da variável é uma constante determinada em tempo de compilação e armazenada no binário do kernel. Então, você poderia, em princípio, inspecionar seu binário do kernel para encontrar o valor padrão. Você teria que localizar o símbolo correspondente à configuração em que está interessado e seguir o endereço desse símbolo no binário do kernel. Inicializar seu kernel em uma máquina virtual seria menos trabalhoso.
Para a maioria das configurações, você pode procurar na fonte do kernel - kernel/sysctl.c
e outros arquivos. Você verá definições como
{
.procname = "rmem_max",
.data = &sysctl_rmem_max,
…
},
(em net/core/sysctl_net_core.c
), a partir do qual você pode rastrear a inicialização do < href="http://lxr.linux.no/linux+v3.5/net/core/sock.c#L265"> sysctl_rmem_max
variável . Enquanto este é inicializado a partir de uma constante, é preciso ler um pouco do código C para expandir.