"rhash_entries" 매개변수를 확인하고 설정하는 방법은 무엇입니까?

"rhash_entries" 매개변수를 확인하고 설정하는 방법은 무엇입니까?

내가 읽고있다이것기사에는 다음과 같이 나와 있습니다.

rhash_entries is the size of the hash table. If you don't specify it on the
kernel command line, it is computed dynamically based on the memory available
on your system. You can view its value by looking at something like IP route
cache hash table entries: 262144 (order: 9, 2097152 bytes) in the kernel logs.

그러나 kern.log 또는 syslog에서 항목을 확인하면 항목을 찾을 수 없습니다.

잘 이해했다면 테이블의 기본 크기를 변경하려면 rhash_entries=extlinux/grub의 커널 라인에 추가해야 하는데 그렇게 한 후에도 로그에 "라우팅" 정보가 없습니다.

나는 sysctl의 매개변수가 어떻게 작동하는지(이뿐만 아니라) 이해하고 싶지만, 경로 캐시 를 읽고 설정하는 방법을 모르면 rhash_entries경로 캐시가 어떻게 작동하는지 이해할 수 없습니다 .

rhash_entries커널 매개변수를 아는 사람이 있나요?

답변1

현재 런닝 사이즈 확인

$ cat /proc/sys/net/ipv4/route/gc_thresh
$ 1048576

항상 현재 경로 캐시 크기로 설정됩니다.

이 크기를 설정하려면 /etc/default/grub다음과 같이 기본 줄을 편집하고 수정합니다.

GRUB_CMDLINE_LINUX_DEFAULT="rhash_entries=1048576"

그렇다면 달리는 것을 잊지 마세요 sudo update-grub! 그리고 다시 시작하세요.

커널 로그에서 찾고 있는 정보는 다음과 같습니다.

IP route cache hash table entries: 1048576 (order: 11, 8388608 bytes)

관련 정보