Ini tidak mungkin secara umum: kernel tidak mempertahankan nilai asli (setidaknya di Linux tidak, dan ini mungkin benar untuk varian unix lainnya). Nilai pengaturan disimpan dalam variabel; ketika Anda mengubah pengaturan, memori yang mengandung variabel diperbarui secara permanen.
Untuk sebagian besar pengaturan, nilai awal variabel adalah konstanta yang ditentukan pada waktu kompilasi dan disimpan dalam biner kernel. Jadi, Anda bisa, pada prinsipnya, memeriksa biner kernel Anda untuk menemukan nilai default. Anda harus menemukan simbol yang sesuai dengan pengaturan yang Anda minati, dan ikuti alamat simbol itu dalam biner kernel. Mem-boot kernel di mesin virtual akan kurang bekerja.
Untuk sebagian besar pengaturan, Anda dapat melihat di sumber kernel - kernel/sysctl.c
dan file lainnya. Anda akan melihat definisi seperti
{
.procname = "rmem_max",
.data = &sysctl_rmem_max,
…
},
(dalam net/core/sysctl_net_core.c
), dari mana Anda dapat melacak inisialisasi sysctl_rmem_max
variabel . Sementara ini diinisialisasi dari konstanta, dibutuhkan sedikit membaca kode C untuk berkembang.
Gilles 'SANGAT berhenti menjadi jahat'
sumber