linux – ulimit没有反映为jenkins奴隶

问题

得到java.io.IOException:通过jenkins索引索引中打开的文件过多.

做了一些谷歌搜索,发现我们必须为我们正在运行工作的盒子设置ulimit.

所以在带有spec的linux盒子里设置ulimit

Linux x86_64 GNU/Linux

以下两种方式

> ulimit -n 1000000
> /etc/security/limits.conf

userx soft nofile 1000000
userx hard nofile 1000000

特定

> userx是执行jenkins作业的用户.
>当通过终端手动将ssh作为userx进行操作时,检查ulimit -n am getting 10000000

但是当通过jenkins作业执行相同的ulimit -n时,只获得1024这是认值.

任何建议都会有所帮助吗?

解决方法

如果你的jenkins启动脚本使用“su”进行用户切换,请确保为su启用了pam_limits.so.

对于Ubuntu Server,在/etc/pam.d/su文件中取消注释“session required pam_limits.so”行

sudo sed -i '/# session\s\+required\s\+pam_limits.so/ s/# *//' /etc/pam.d/su

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...