내 시스템의 프로세스에 대한 기본 파일 설명자 제한을 늘리려고 합니다. 특히, 저는 기계 시작 시 Condor 데몬과 그 하위 프로세스에 적용되는 제한을 얻으려고 노력하고 있습니다. 그러나 이러한 제한은 기계 시작에는 적용되지 않습니다.
나는 한도를 다음과 같이 설정했습니다 /etc/sysctl.conf
:
[root@mybox ~]# cat /etc/sysctl.conf
# TUNED PARAMETERS FOR CONDOR PERFORMANCE
# See http://www.cs.wisc.edu/condor/condorg/linux_scalability.html for more information
# Allow for more PIDs (to reduce rollover problems); may break some programs
kernel.pid_max = 4194303
# increase system file descriptor limit
fs.file-max = 262144
# increase system IP port limits
net.ipv4.ip_local_port_range = 1024 65535
그리고 /etc/security/limits.conf
:
[root@mybox ~]# cat /etc/security/limits.conf
# TUNED PARAMETERS FOR CONDOR PERFORMANCE
# See http://www.cs.wisc.edu/condor/condorg/linux_scalability.html for more information
# Increase the limit for a user continuously by editing etc/security/limits.conf.
* soft nofile 32768
* hard nofile 262144 #65536
내가 겪고 있는 문제는 시스템을 재부팅할 때 Condor와 해당 프로세스에 제한이 적용되지 않는 것 같다는 것입니다. 재부팅 후 Condor 프로세스의 파일 설명자 제한을 보면 다음과 같습니다.
[root@mybox proc]# cat /proc/`/sbin/pidof condor_schedd`/limits | grep 'Max open files'
Max open files 1024 1024
그러나 condor_schedd
재부팅 후 프로세스를 다시 시작하면 제한이 예상대로 증가합니다.
[root@mybox proc]# cat /proc/`/sbin/pidof condor_schedd`/limits | grep 'Max open files'
Max open files 32768 262144
boot.log
이는 내 Condor 데몬과 해당 프로세스가 시작되기 전에 이러한 제한이 설정되었음을 의미합니다 .
May 18 07:51:52 mybox sysctl: net.ipv4.ip_forward = 0
May 18 07:51:52 mybox sysctl: net.ipv4.conf.default.rp_filter = 1
May 18 07:51:52 mybox sysctl: net.ipv4.conf.default.accept_source_route = 0
May 18 07:51:52 mybox sysctl: kernel.sysrq = 0
May 18 07:51:52 mybox sysctl: kernel.core_uses_pid = 1
May 18 07:51:52 mybox sysctl: kernel.pid_max = 4194303
May 18 07:51:52 mybox sysctl: fs.file-max = 262144
May 18 07:51:52 mybox sysctl: net.ipv4.ip_local_port_range = 1024 65535
May 18 07:51:52 mybox network: Setting network parameters: succeeded
May 18 07:51:52 mybox network: Bringing up loopback interface: succeeded
May 18 07:51:57 mybox ifup: Enslaving eth0 to bond0
May 18 07:51:57 mybox ifup: Enslaving eth1 to bond0
May 18 07:51:57 mybox network: Bringing up interface bond0: succeeded
May 18 07:52:17 mybox hpsmhd: smhstart startup succeeded
May 18 07:52:17 mybox condor: Starting up Condor
May 18 07:52:17 mybox rc: Starting condor: succeeded
May 18 07:52:17 mybox crond: crond startup succeeded
분명히, 나는 머신을 시작한 다음 이러한 증가된 제한을 적용해야 하는 프로세스를 다시 시작하는 것을 피하고 싶습니다. 머신이 시작될 때 이러한 제한이 프로세스에 적용되지 못하게 하려면 내가 뭘 잘못하고 있습니까?
답변1
다음에 추가ulimit -n 262144Condor 초기화 스크립트에.