Bu genel olarak mümkün değildir: çekirdek orijinal değerleri korumaz (en azından Linux altında değil ve bu muhtemelen diğer unix varyantları için de geçerlidir). Ayarın değeri bir değişkende saklanır; ayarı değiştirdiğinizde, değişkeni içeren bellek geri döndürülemez şekilde güncellenir.
Çoğu ayar için, değişkenin başlangıç değeri derleme zamanında belirlenen ve çekirdek ikili dosyasında depolanan bir sabittir. Böylece, prensip olarak, varsayılan değeri bulmak için çekirdek ikilinizi kontrol edebilirsiniz. İlgilendiğiniz ayara karşılık gelen sembolü bulmanız ve çekirdek sembolündeki bu simgenin adresini izlemeniz gerekir. Çekirdeğinizi sanal bir makinede başlatmak daha az işe yarar.
Çoğu ayar için çekirdek kaynağına kernel/sysctl.c
ve diğer dosyalara bakabilirsiniz . Gibi tanımları göreceksiniz
{
.procname = "rmem_max",
.data = &sysctl_rmem_max,
…
},
(in net/core/sysctl_net_core.c
) ile sysctl_rmem_max
değişkenin başlangıç durumunu izleyebilirsiniz . Bu bir sabitten başlatılırken, genişletmek için C kodunu okumak biraz zaman alır.