我的服务用的是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-1.dll,程序可能会出现“找不到入口点”或“无法启动此程序,因为计算机中缺失libgomp-1.dll”等错误。因此,你需要将libgomp-1.dll与你的可执行文件一起分发,或者将其放置在系统的PATH环境变量所...
libgomp-4.1.1-52.el5.i386.rpm
libgomp-4.4.7-18.el6.x86_64.rpm
libgomp-4.8.5-4.el7.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时使用~...
官方离线安装包,亲测可用
《深入理解libgomp在Linux环境中的应用》 libgomp是GNU编译器集合(GCC)中的一个组件,全称为GNU OpenMP库。OpenMP(Open Multi-Processing)是一种并行编程模型,广泛用于多处理器系统和多核处理器,为C、C++和...
安装gcc必备libgomp-4.4.7-23.el6.x86_64.rpm,手工安装gcc编译环境,版本:4.4.7
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
redhat安装GCC时候,依赖包 libgomp-4.4.0-6.el5.x86_64.rpm
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用
python安装xgboost,已经编译好的了,可以直接使用安装。
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
标题中的"forge-bootstrap-2.0.0.Alpha7.zip"是一个软件开发框架的版本压缩包,Forge Bootstrap 提供了一个快速启动新项目的环境,通常包含了基本的项目结构、配置和依赖管理,使得开发者能够更便捷地搭建开发环境。...
- libgomp:OpenMP库,用于并行计算。 - kernel-devel:内核开发包,提供了编译和安装内核模块所需的头文件和库。 完成依赖安装后,进入解压后的目录`linuxrdac-09.03.0C05.0331`,运行`make`命令进行编译。编译...
libgomp-4.3.2-7.el5.i386.rpm(适用于redhat 5.3 64位)亲测可用,主要是有利于安装系统后,不记得勾选develope选项的朋友简单安装gcc/g++。..
gcc-c++-4.4.5-6.el6.x86_64.rpm
- Libgomp: 提供对GOMP(GNU OpenMP)的支持。 - HTTPD: Apache Web服务器。 - PHP: 一种常用的脚本语言,用于Web开发。 使用`yum`命令安装所需的软件包: ```bash yum install -y kernel-headers-* c++-* glibc-...