关闭

设置Sysctl.conf用以提高Linux的性能(最完整的sysctl.conf优化方案)

标签: linux
276人阅读 评论(0) 收藏 举报
分类:

http://blog.csdn.net/21aspnet/article/details/6584792

设置Sysctl.conf用以提高Linux的性能(最完整的sysctl.conf优化方案)



sysctl -p  立即生效


cat  /proc/sys/fs/nr_open获取系统允许的资源数目


1.   系统最大打开文件描述符数:/proc/sys/fs/file-max

a.   查看

$ cat /proc/sys/fs/file-max

186405

2.设置

a.   临时性

# echo 1000000 > /proc/sys/fs/file-max

2.   永久性:在/etc/sysctl.conf中设置

fs.file-max = 1000000

 

2.   进程最大打开文件描述符数:user limit中nofile的soft limit

a.   查看

$ ulimit -n

1700000

2.设置

a.   临时性:通过ulimit -Sn设置最大打开文件描述符数的soft limit,注意soft limit不能大于hard limit(ulimit -Hn可查看hard limit),另外ulimit -n默认查看的是soft limit,但是ulimit -n 1800000则是同时设置soft limit和hard limit。对于非root用户只能设置比原来小的hard limit。

查看hard limit

$ ulimit -Hn

1700000

设置soft limit,必须小于hard limit:

$ ulimit -Sn 1600000

2.   永久性:上面的方法只是临时性的,注销重新登录就失效了,而且不能增大hard limit,只能在hard limit范围内修改soft limit。若要使修改永久有效,则需要在/etc/security/limits.conf中进行设置(需要root权限),可添加如下两行,表示用户chanon最大打开文件描述符数的soft limit为1800000,hard limit为2000000。以下设置需要注销之后重新登录才能生效:

chanon          soft    nofile          1800000

chanon          hard   nofile          2000000

设置nofile的hard limit还有一点要注意的就是hard limit不能大于/proc/sys/fs/nr_open,假如hard limit大于nr_open,注销后无法正常登录。可以修改nr_open的值:

# echo 2000000 > /proc/sys/fs/nr_open

 

3.   查看当前系统使用的打开文件描述符数

[root@localhost bin]# cat /proc/sys/fs/file-nr

5664        0        186405

其中第一个数表示当前系统已分配使用的打开文件描述符数,第二个数为分配后已释放的(目前已不再使用),第三个数等于file-max

 

4.   总结:

a.   所有进程打开的文件描述符数不能超过/proc/sys/fs/file-max

b.   单个进程打开的文件描述符数不能超过user limit中nofile的soft limit

c.   nofile的soft limit不能超过其hard limit

d.   nofile的hard limit不能超过/proc/sys/fs/nr_open



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:151120次
    • 积分:2026
    • 等级:
    • 排名:第19830名
    • 原创:38篇
    • 转载:121篇
    • 译文:0篇
    • 评论:19条
    文章分类
    最新评论