[20181112]EM12c agent無法啟動.txt

lfree發表於2018-11-12

[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上無法演示出來.


--//連結:

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部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2219562/,如需轉載,請註明出處,否則將追究法律責任。

相關文章