전체 서비스를 다시 시작하지 않고 RPCNFSDCOUNT 설정을 변경하려면 어떻게 해야 합니까?
서비스를 다시 시작하지 않고 NFS 구성을 다시 로드해야 합니다. RPCNFSDCOUNT 스레드 수가 작업 부하에 비해 너무 낮지만 변경 기간에 대한 일정에 대해 경영진의 동의를 얻을 수 없습니다.
일반 서비스에서는 SIGHUP을 통해 이를 수행할 수 있는 경우가 많습니다. 를 사용해 보았 kill -HUP $(pidof rpc.mountd)
으나 이 오래된 Fedora 8 시스템에서는 /etc/sysconfig/nfs의 새로운 RPCNFSDCOUNT 설정을 적용하는 데 실패했습니다.
다른 NFS 데몬에 대한 매뉴얼 페이지를 보면 해당 프로세스를 HUP하는 데 아무런 이점이 없다고 생각하게 되며 nfsd 스레드 자체의 상위 프로세스인 kthreadd 프로세스를 HUP하는 것을 꺼려합니다.
답변1
정신이 혼미해진 후에 나는 /proc 파일 시스템을 기억해 냈습니다. 특히 /proc/fs/nfsd는 nfsd 서비스의 런타임 설정을 제어합니다.
내 경우에는 echo '32' > /proc/fs/nfsd/threads
스레드 수를 32로 설정하는 것을 의미했습니다.
답변2
서버가 이미 실행 중인 경우 rpc.nfsd
명령줄에서 서버를 실행하고 추가하거나 제거할 프로세스 수를 지정할 수 있습니다.nfs
~에서man 8 rpc.nfsd
/usr/sbin/rpc.nfsd [options] nproc
Note that if the NFS server is already running, then the options for
specifying host, port, and protocol will be ignored. The number of
processes given will be the only option considered, and the number
of active nfsd processes will be increased or decreased to match this
number. In particular rpc.nfsd 0 will stop all threads and thus close
any open connections.