近来,同事作了一些CentOS的优化,用于部署线上服务,问我修改了软硬资源进程数限制,为何重启后没生效。我说配置写到配置文件里,是能够生效的啊。因而,检查了下他系统的优化配置,发现他修改进程数限制配置使用了ulimit的命令,shell
ulimit -HSn 65536
而后把它写在了rc.local配置文件里。为何这么写呢?同事说是网上都是这么作的,我诧异了。bash
因而,我开始百度,发现网上好多优化配置的资料都是这么弄的,我开始,无奈了,也不知道从哪位大神流传出来的啊,并且被好多人转载了,拜托各位,亲自走一遍再转好不?否则会把这个坑越挖越大。ide
这里说下ulimit命令。ulimit能够用来显示修改系统当前用户进程数限制的命令,详细用法能够参考Linux相关手册,这里不罗列该命令参数的用法。该命令只对当前用户环境生效,直白的说就是你经过终端工具链接当前shell期间的修改是有效的,一旦你端口断开链接,用户退出,它就又变回系统默认的1024了,无论你是否是写在启动配置文件里,它都是不生效的。因此再不要把它写在启动配置文件里了,不起做用的。工具
重启生效的办法是,网上说的另一种,直接修改/etc/security/limits.conf配置文件,该配置文件能够用来对系统用户、组进行cpu、文件数等限制修改,经过它能够针对某个用户或所有进行限制。但不能超越系统的限制;具体修改方法,参考该配置文件的注释内容。这儿粘贴下网上配置的性能
还有就是常常有人问我,关于这个数字为何写10240或者什么65536,这个你们就是被这个数字误导了,其实没有什么,就是一个数字限制数目,你也能够写个整数什么的。可是提醒你们的是,这个数字可不是越大越好,得看机器的实际性能,若是这个数字很大,当达到机器性能瓶颈时,系统还会接受更多的文件,就会致使机器运行卡顿,死机,而不会阻止多余的进程执行。因此修改这个限制值是颇有必要的。优化
最后,提醒各位下,这个配置文件其实是加载了pam_limits.so模块,因此要想这个配置文件生效,确保这个模块加载正常。关于这个模块加载,使用网上资料不少,不复赘述。blog