Linux系统参数调优

摘要

本文讲Linux系统参数的含义及调优,本文会持续更新。


- 最大文件句柄数设置

a) 设置系统级别的所有进程允许打开的最大文件句柄数

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

可以通过编辑/etc/sysctl.conf 来设定,比如:

fs.file-max = 1024000

保存好后,执行sysctl -p来生效。


b) 设置用户级别的所有进程的允许打开的最大文件句柄数

可以编辑/etc/security/limit.conf , 也可以在/etc/security/limit.d/目录下添加文件,比如添加user.conf:

*        hard    nofile      200000 
*        soft    nofile      200000 
root      hard    nofile      500000 
root      soft    nofile      500000

以上设置表示root用户允许的最大文件句柄数为500000,其他用户都为200000,设置好后,需要退出terminal,或关闭session ,然后再登录进入,执行ulimit -a就可以看到效果了。

对于有些操作系统,在增加文件句柄数的时候,你可能会遇到这样的错误:

ulimit open files cannot modify limit operation not permitted

这说明你的OS对用户的最大文件句柄数有限制,最大只能设为1024000,我曾在redhat 6.7版本中遇到过这个问题,不知道是不是有这个硬性限制,还是可以通过调整其他参数来调大最大文件句柄数,有经验的同学可以留言讨论。

若你不幸遇到这种情况,在修改了limit.conf文件后,千万要记着不要退出或关闭窗口,要再打开一个窗口试试看能不能登录,若不能登录,而且在/var/log/secure日志中有如下错误,说明最大文件句柄数设置的有问题。

pam_limits(sshd:session): Could not set limit for 'nofile': Operation not permitted


c) 查看运行进程的文件句柄数

/proc/$PID/limits

若要对已经在运行的进程更改文件句柄数,可以使用prlimit , 这个工具需要安装util-linux-2.21包

prlimit --pid <pid> --<limit>=<soft>:<hard>
prlimit --pid 12345 --nofile=1024:2048


本文出自 “Linux运维” 博客,转载请与作者联系!

你可能感兴趣的:(linux,参数,调优)