linux下更改最大并发数

请求多的Linux服务器,如不改最大打开文件数的话,那是一个悲剧~
可以用命令 ulimit -n 看看当前最大可打开文件数 默认是1024
如果加大呢?
临时方法是ulimit -n 8192 这个方法是临时的,也就是重启电脑或者重新登录后又会恢复成1024,且只有 root 用户有权限改。
永久方法:
修改以下两个文件:
1./etc/security/limits.conf
vi /etc/security/limits.conf
加上:
* soft nofile 10240
* hard nofile 20480

(数目按情况自己改)
2./etc/pam.d/login
vi /etc/pam.d/login
在后面加上
session required pam_limits.so

写程序实现的话:

#include <stdio.h>;
#include <unistd.h>;
#include <sys/time.h>;
#include <sys/types.h>;
#include <sys/resource.h>;

struct rlimit limit;
int main()
{
        getrlimit(RLIMIT_NOFILE,&limit);

        printf("current file limit is %d\n",limit.rlim_cur);
        printf("hard file limit is %d\n",limit.rlim_max);
        limit.rlim_max = 10000;
        setrlimit(RLIMIT_NOFILE,&limit);
        printf("hard file limit is %d\n",limit.rlim_max);

        return 0;
}

猜你喜欢

转载自eric-gcm.iteye.com/blog/2107379