In Linux 6 or earlier version, you may need to check ‘max user processes’ etc. with ‘ulimit -a’ command.
But from Linux 7, there are something more need to be check:
DefaultTasksMax was default value(512).
systemd limited maximum number of tasks that may be created in the unit.
This setting also effect maxpid value on OS.
We observed some ’ fork rejected by pids controller’ error in OS log.
2017-08-16T02:36:55.560027+08:00 server-0 kernel: [ 165.619978] cgroup: fork rejected by pids controller in /system.slice/ohasd.service
which indicates some fork issue due to pid limits.
Listener cannot fork more process when the limits is reached, hence TNS-12518 was raised.
解决方法:
Edit /etc/systemd/system.conf
Set DefaultTasksMax to ‘infinity’