2012-05-11 6 views
3

터미널을 닫으십시오. 파일 설명의 번호를 변경하려고 시도하고 있습니다. 어떻게 터미널에서 ulimit을 바꿀 수 있습니까? 내가 터미널에서 uwsgi를 실행하면 아래의 당, fd가 Nginx에 대한 파일 디스크립터의 수를 인상하려고 할 때 나는 비슷한 문제를 가지고 1024우분투의 터미널에서 파일 설명자 번호에 대한 ulimit을 변경하십시오.

[email protected]:/tmp$ uwsgi --loop gevent --socket :3031 --wsgi-file /home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbAsyncServers/bottleServer.py --master --async 100 --listen 300 --processes 1 
*** Starting uWSGI 1.2.1 (64bit) on [Sat May 12 05:24:25 2012] *** 
compiled with version: 4.5.2 on 11 May 2012 03:42:53 
detected number of CPU cores: 2 
current working directory: /tmp 
detected binary path: /usr/local/bin/uwsgi 
your memory page size is 4096 bytes 
detected max file descriptor number: 1024 
async fd table size: 1024 
allocated 103200 bytes (100 KB) for 100 cores per worker. 
lock engine: pthread robust mutexes 
uwsgi socket 0 bound to TCP address :3031 fd 3 
Python version: 2.7.1+ (r271:86832, Apr 11 2011, 18:37:12) [GCC 4.5.2] 
*** Python threads support is disabled. You can enable it with --enable-threads *** 
Python main interpreter initialized at 0xd9bfd0 
your server socket listen backlog is limited to 300 connections 
*** Operational MODE: async *** 
WSGI app 0 (mountpoint='') ready in 8 seconds on interpreter 0xd9bfd0 pid: 17688 (default app) 
*** uWSGI is running in multiple interpreter mode *** 
spawned uWSGI master process (pid: 17688) 
spawned uWSGI worker 1 (pid: 17742, cores: 100) 
*** running gevent loop engine [addr:0x4503f0] *** 
!!! Running gevent without threads IS NOT recommended, enable them with --enable-threads !!! 
+0

정확히 어떻게 변경하려고합니까? – geekosaur

+0

나는 다음을 시도했다 - ulimit 60000 – Tampa

+0

좀 더 자세히 해보자. 당신은 같은 쉘에서 이것을 실행하고 실제로 그것이 처음으로 무엇인가를 확인하고 있습니까? 실행중인 명령의 순서와 위치를 정확하게 알려주십시오. – geekosaur

답변

5

에 있습니다. 에 *이 솔루션은 * pam_limits를 가능하도록했다

www-data hard nofile 16384 
www-data soft nofile 16384 

ulimit를 여전히 1024의 한계를 보여 주었다이 변경 후 : 내가 www가 데이터 사용자에 대한는 /etc/security/limits.conf nofile을 변경했다 /etc/pam.d/su 방금 주석을 제거했습니다.

session required pam_limits.so 

이 값을 변경하면 다시 시작할 필요가 없으므로 방금 www- 데이터로 다시 로그인했습니다. 이제 ulimit -a을 실행하면 16384 값이 나타났습니다.

희망이 도움이됩니다.

+0

미래의 Google 직원을 위해서 : 분명히'prlimit '라는 도구가 있습니다. 시작하지 않고도 제한을 변경하지만 util-linux에는 아직 몇 년이 지나도 변하지 않습니다. newish 커널에서 작동 할 수있는 작은 유틸리티 [here] (http://lzone.de/cheat-sheet/ulimit#set_nofile_limit)가 있습니다. – dashesy