系统资源参数优化(ulimit)


+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
张贺,多年互联网行业工作经验,担任过网络工程师、系统集成工程师、LINUX系统运维工程师
个人网站:www.zhanghehe.cn
笔者微信:zhanghe15069028807,现居济南历下区
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-


基本内核参数调优

内核参数显示:

[root@kk ~]# ulimit -a
core file size          (blocks, -c) 0
file size               (blocks, -f) unlimited
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
max user processes              (-u) 7827
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

core file size

core file 类似于debug的调试文件,当某个进程出现一些异常时,可以通过此文件来观察问题,通过c写的程序就可以使用core file来调试,比如nginx。core file size 默认是0,也就是关闭状态,可以通过以下命令打开:

[root@kk ~]# ulimit -c unlimited
[root@kk ~]# ulimit -a | head -1
core file size          (blocks, -c) unlimited

file size

文件文本的最大的大小,比如控制日志文件的大小,最好也不要修改。

缺点就是如果超时此规定的大小时,容易造成应用程序日志写入失败,无法正常使用。

max locked memory

最大锁内存,默认64,也基本足够了。

max memory size

最大内存大小,默认不限制,我们最好也不要限制。

open files

打开文件数,最重要的一个参数,默认1024,不太够,修改大一些,改成65535就差不多了。

[root@kk ~]# ulimit -n 65536
[root@kk ~]# ulimit -a | grep files
open files                      (-n) 65536

由其像负载均衡这类服务器,一手托两家,套接字文件不够用。

max user processes

最大用户进程数,指定某一个用户最多可以打开多少进程,默认限制在7827,调整成655535为好。

[root@kk ~]# ulimit -u 65565
[root@kk ~]# ulimit -a | grep user
max user processes              (-u) 65565

以上设置都是临时生效,怎样永久生效呢?

//这个配置文件当中有书写规则,一看就懂,与ulimit -a对应,有软限制和硬限制两种,最好都限制上。
[root@kk ~]# vim /etc/security/limits.conf  
* soft nofile 65565   #打开文件的的软限制
* hard nofile 65565   #打开文件的的硬限制

* hard nproc 65565  #用户打开进程数的的软限制,仅在root用户生效
* hard nproc 65565  #用户打开进程数的的硬限制,仅在root用户生效

注意,无论你是通过命令修改还是通过配置文件修改,假如程序已经运行起来了,比如nginx,那就需要重启服务才能生效的,所以这一步最好在安装系统的时候就做好。

用户打开进程数据除了在在/etc/security/limits.conf 配置,还可以在/etc/security/limits.d/20-nproc.conf ,而且在这个文件当中的修改可以作用于普通用户,如果我们修改用户打开的最大进程数的话,最好在此处修改,不要在/etc/security/limits.conf 文件里面修改了。

[root@kk limits.d]# pwd
/etc/security/limits.d
//以下是默认参数
[root@kk limits.d]# vim 20-nproc.conf 
*          soft    nproc     4096       #除了root之外的用户,可都改成65535
root       soft    nproc     unlimited  #root用户,也改成65535
原文地址:https://www.cnblogs.com/yizhangheka/p/12607657.html