[20181112]EM12c agent无法启动.txt
--//别人的系统EM12c agent无法启动,报如下错误:
./emctl: line 286: /usr/bin/uname: Argument list too long
./emctl: line 287: /usr/bin/uname: Argument list too long
./emctl: line 466: /oracle/agent12c/core/12.1.0.5.0/perl/bin/perl: Argument list too long
--//我自己从来不用这东西.
--//实际上问题在于里面执行脚本commonenv定义的$EM_THREAD_STACK_SIZE太小.视乎这个问题仅仅出现rh7.3版本.
--//我在rhel 7.5上无法演示出来.
--//链接:https://bugzilla.redhat.com/show_bug.cgi?id=1463241
Markus Frosch 2017-06-20 08:20:53 EDT
After updating to 3.10.0-514.21.2.el7, probably related to the stackguard patches, you can't set a low rlimit_stack for processes.
When setting a Limit to a value lower than ~ 4.5 MB, the system can't start the executable anymore.
How reproducible:
$ ulimit -s 1024
$ /bin/true
bash: /bin/true: Argument list too long
$ ulimit -s 4096
$ /bin/true
bash: /bin/true: Argument list too long
What works:
$ ulimit -s 4608
$ /bin/true
Additional info:
This does not happen on latest patched versions of Debian jessie + stretch.
We haven't yet tested RHEL 6, or other distributions.
Similar problems happen in systemd, then systemd even has internal problems trying to start your daemon...
[Unit]
Description=Test problems with LimitRSTACK
[Service]
Type=oneshot
ExecStart=/bin/true
#LimitSTACK=256K
LimitSTACK=4M
--//我看了许多系统定义的:
$ ulimit -s
10240
--//修改很简单修改commonenv:
....
if [ "$EM_THREAD_STACK_SIZE" = "" ] ; then
#EM_THREAD_STACK_SIZE=3072 # Default value
EM_THREAD_STACK_SIZE=10240 # New value
fi
ulimit -S -s $EM_THREAD_STACK_SIZE
....
--//这样就ok了.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2219562/ ,如需转载,请注明出处,否则将追究法律责任。