fs.file-max 늘리기: 조정해야 할 다른 커널 매개변수(kafka 실행을 위해)

fs.file-max 늘리기: 조정해야 할 다른 커널 매개변수(kafka 실행을 위해)

추가로 500,000개의 kafka 서비스를 실행하기 위해(jbod 디스크를 사용하면 열려 있는 파일이 너무 많아 문제가 발생함) RHEL 7.x 서버에 from to를 LimitNOFILE추가하기로 결정했습니다.fs.file-max5000001000000

내가 이해하는 바로는 이 값을 늘리면 fs.file더 많은 파일 설명자를 여는 데에도 영향을 미칠 것입니다.

fs.file-max그래서 우리는 ?를 증가시킬 때 다른 커널 매개변수도 업데이트해야 하는지 알고 싶습니다 .

읽어보니 inode-max"file-max 값보다 3~4배 커야 합니다.

하지만 우리 서버에서 이 매개변수를 찾지 못했습니다.

 more /proc/sys/fs/inode-max
/proc/sys/fs/inode-max: No such file or directory


more /etc/sysctl.conf
# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
fs.file-max = 500000
vm.swappiness = 10
vm.vfs_cache_pressure = 50
net.core.somaxconn=1024

답변1

linux-2.4부터 sysfs가 제거되었기 때문에 이 inode-max파일은 존재하지 않습니다. 더 이상 inode 수에 대한 정적 제한이 없습니다.

/proc/sys/fs/inode-max (Linux 2.2 이전에만 존재함) 이 파일에는 메모리의 최대 inode 수가 포함되어 있습니다. stdin, stdout 및 네트워크 소켓도 이를 처리하려면 inode가 필요하기 때문에 이 값은 file-max의 값보다 3~4배 커야 합니다. inode가 자주 부족해지는 경우 이 값을 늘려야 합니다.

  Starting with Linux 2.4, there is no longer a static limit
  on the number of inodes, and this file is removed.

https://man7.org/linux/man-pages/man5/proc.5.html

내가 아는 한, 튜닝할 때 다른 커널 매개변수를 조정할 필요가 없습니다 fs.file-max.

즉, systemd 시스템에서는 경우에 따라 systemd가 리소스 제한을 무시하거나 무시할 수 있으므로 리소스 제한 /etc/systemd/user.conf(사용자별) 또는 (시스템 전체)을 설정해야 할 수도 있습니다./etc/systemd/system.conf

관련 정보