终端我正试图改变打开的文件描述数量,他们不会坚持。如何,从终端我改变ulimit?按照下面的说法,当我从终端运行uwsgi时,fd是1024。
ubuntu@ubuntu:/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 :(得分:5)
在尝试提高Nginx的文件描述符数时,我遇到了类似的问题。我必须在 /etc/security/limits.conf 中为www-data用户更改nofile
:
www-data hard nofile 16384
www-data soft nofile 16384
在此更改之后,ulimit仍然显示1024的限制。解决方案是在 /etc/pam.d/su 中启用* pam_limits *。我刚刚取消评论该行:
session required pam_limits.so
更改此值不需要重新启动,我只是再次以www-data身份登录。现在,正在运行ulimit -a
会显示值16384
。
希望这有帮助。