Nói chung, điều này là không thể: hạt nhân không giữ được các giá trị ban đầu (ít nhất là trong Linux, điều này không đúng và điều này có lẽ đúng với các biến thể unix khác). Giá trị của cài đặt được lưu trữ trong một biến; Khi bạn thay đổi cài đặt, bộ nhớ chứa biến được cập nhật không thể đảo ngược.
Đối với hầu hết các cài đặt, giá trị ban đầu của biến là một hằng số được xác định tại thời gian biên dịch và được lưu trữ trong tệp nhị phân kernel. Vì vậy, về nguyên tắc, bạn có thể kiểm tra nhị phân kernel của mình để tìm giá trị mặc định. Bạn sẽ phải định vị biểu tượng tương ứng với cài đặt bạn quan tâm và theo địa chỉ của biểu tượng đó trong tệp nhị phân kernel. Khởi động kernel của bạn trong một máy ảo sẽ làm việc ít hơn.
Đối với hầu hết các cài đặt, bạn có thể tìm trong nguồn kernel - kernel/sysctl.c
và các tệp khác. Bạn sẽ thấy các định nghĩa như
{
.procname = "rmem_max",
.data = &sysctl_rmem_max,
…
},
(trong net/core/sysctl_net_core.c
), từ đó bạn có thể theo dõi việc khởi tạo sysctl_rmem_max
biến . Trong khi cái này được khởi tạo từ một hằng số, phải mất khá nhiều thời gian để đọc mã C để mở rộng.