我的服务用的是ImageMagic + JMagick来对图片进行压缩,web容器是tomcat,系统是CentOS6.0。最近发现tomcat有时崩掉了,在catalina.out文件里发现了这行出错信息:
libgomp: Thread creation failed: Resource temporarily unavailable
各种Google后,网上的普遍说法是进程数达到了系统设置的上限,所以不能创建新的进程。CentOS对每个用户创建的最大进程数默认设置是1024个(max user processes = 1024),可以用ulimit -u看到。我用ps命令查看,平时也就200+个进程,高峰时间也绝对不会超过
1024个。
后来,我终于发现了问题的答案。原来,在linux上,线程也是特殊进程,叫Light Weight Process(LWP)
,轻量级进程。如果算上线程,那么在同一时刻,整个系统的进程肯定较
多,因为光tomcat就会创建很多线程来处理请求。具体的数可以用 ps -eLf 查看。
问题找到了,解决方案就简单
了。用root权限打开 /etc/security/limits.d/90-nproc.conf , 将 nproc 的的值设置大一些,我暂时设置成了10240,如下:
* soft nproc 10240
10240要是不够用,以后再改大点就是了。改完保存,再用ulimit -u确认下,
搞定!
分享到:
相关推荐
libgomp-4.1.1-52.el5.i386.rpm
libgomp-4.4.7-18.el6.x86_64.rpm
官方离线安装包,亲测可用
GCC 安装必备,libgomp-4.4.4-13.el6.x86_64.rpm
估计很多人在用QT写opencv,到了release版本的时候会因为各种问题焦头烂额,尤其是这个libgomp-1.dll。建议使用qt-opensource-windows-x86-mingw530-5.8.0的小伙伴们在碰到了release版本缺少libgomp-1.dll时使用~...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
Qt多线程程序发布需要用到这个动态库,支持Qt5以后的版本,mingw版本
redhat安装GCC时候,依赖包 libgomp-4.4.0-6.el5.x86_64.rpm
安装gcc必备libgomp-4.4.7-23.el6.x86_64.rpm,手工安装gcc编译环境,版本:4.4.7
libgomp-4.8.5-4.el7.x86-64.rpm
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
python安装xgboost,已经编译好的了,可以直接使用安装。
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用
jtoml.zip,用于tomltoml的java解析器用于java的解析器
libgomp-4.3.2-7.el5.i386.rpm(适用于redhat 5.3 64位)亲测可用,主要是有利于安装系统后,不记得勾选develope选项的朋友简单安装gcc/g++。..
libgomp-4.8.5-44.el7.x86_64.rpm
gcc-c++-4.4.5-6.el6.x86_64.rpm
yum localinstall gcc-4.8.3-9.el7.x86_64.rpm ...... Requires: libgomp = 4.8.3-9.el7 Requires: cpp = 4.8.3-9.el7
libgomp-4.8.5-39.el7.x86_64.rpm libquadmath-4.8.5-39.el7.x86_64.rpm libquadmath-devel-4.8.5-39.el7.x86_64.rpm libstdc++-4.8.5-39.el7.x86_64.rpm libstdc++-devel-4.8.5-39.el7.x86_64.rpm