使用kettle批量在指定服务器上执行任务是包如下错误:
java.lang.OutOfMemoryError: unable to create new native thread
java.lang.OutOfMemoryError: unable to create new native thread
解决方法:
第一种方案:
root用户在如下/etc/security/limits.conf文件中插入下面两行:
* - nofile 275828
* - nproc 275828
第二种方案:
第一种方案修改完成之后使用ulimit -u命令发现没有变化,发现在/etc/profile被限定了。所以第二种方案由此而生,直接改/etc/profile。
vi /etc/profile ##在打开的文件中添加如下两个命令,275828根据自己需要修改大小
ulimit -n 275828
ulimit -u 275828
source /etc/profile ##生效文件
##查看状态:
第三种:
以上改完,批量执行kettle之后还是报错
java.lang.OutOfMemoryError: unable to create new native thread first execute end!!!
/home/hadoopap/data-integration/spoon.sh: line 140: ldconfig: command not found
最终查询找到/etc/security/limits.d/20-nproc.conf 配置文件,修改所有用户取消连接限制。
##说明:* 代表针对所有用户,noproc 是代表最大进程数,nofile 是代表最大文件打开数
* soft nproc unlimited
root soft nproc unlimited
其他建议设置成无限制(unlimited)的一些重要设置是:
数据段长度:ulimit -d unlimited
最大内存大小:ulimit -m unlimited
堆栈大小:ulimit -s unlimited
CPU 时间:ulimit -t unlimited
虚拟内存:ulimit -v unlimited