近来,同事做了一些CentOS的优化,用于部署线上服务,问我修改了软硬资源进程数限制,为什么重启后没生效。我说配置写到配置文件里,是可以生效的啊。于是,检查了下他系统的优化配置,发现他修改进程数限制配置使用了ulimit的命令,
ulimit -HSn 65536
然后把它写在了rc.local配置文件里。为什么这么写呢?同事说是网上都是这么做的,我诧异了。
于是,我开始百度,发现网上好多优化配置的资料都是这么弄的,我开始,无奈了,也不知道从哪位大神流传出来的啊,而且被好多人转载了,拜托各位,亲自走一遍再转好不?不然会把这个坑越挖越大。
这里说下ulimit命令。ulimit可以用来显示修改系统当前用户进程数限制的命令,详细用法可以参考Linux相关手册,这里不罗列该命令参数的用法。该命令只对当前用户环境生效,直白的说就是你通过终端工具连接当前shell期间的修改是有效的,一旦你端口断开连接,用户退出,它就又变回系统默认的1024了,不管你是不是写在启动配置文件里,它都是不生效的。所以再不要把它写在启动配置文件里了,不起作用的。
重启生效的办法是,网上说的另外一种,直接修改/etc/security/limits.conf配置文件,该配置文件可以用来对系统用户、组进行cpu、文件数等限制修改,通过它可以针对某个用户或全部进行限制。但不能超越系统的限制;具体修改方法,参考该配置文件的注释内容。这儿粘贴下网上配置的
还有就是经常有人问我,关于这个数字为什么写10240或者什么65536,这个大家就是被这个数字误导了,其实没有什么,就是一个数字限制数目,你也可以写个整数什么的。但是提醒大家的是,这个数字可不是越大越好,得看机器的实际性能,如果这个数字很大,当达到机器性能瓶颈时,系统还会接受更多的文件,就会导致机器运行卡顿,死机,而不会阻止多余的进程执行。所以修改这个限制值是很有必要的。
最后,提醒各位下,这个配置文件实际上是加载了pam_limits.so模块,所以要想这个配置文件生效,确保这个模块加载正常。关于这个模块加载,使用网上资料很多,不复赘述。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。