我在 sles12 env 上看到了一个为系统服务创建核心转储的问题(如下面的 java 应用程序)。在理解 sles12 核心转储创建过程方面需要一些帮助。
我的目标是设置一个ulimit
适用于所有进程(用户启动、systemd 启动或其他任何进程)的单一配置。可以实现吗?
条件: 1. 由于以下配置,我们希望所有进程默认创建转储:文件/etc/security/limits.conf已经配置为所有进程使用ulimit to unlimited
)。2.我的应用程序是一个由systemd实例化的java jar。
在我的 Fedora 系统上,
man limits.conf
说它只影响用户会话。它是使用 PAM 模块应用的pam_limits
。所有 systemd 单元的默认 ulimits 可以设置为
/etc/systemd/system.conf
,例如DefaultLimitCORE=
. 见man systemd-system.conf
。如果未指定值,则使用从内核继承的默认值。中也提到了这一点
man systemd.exec
,其中讨论了为特定的 systemd 服务设置 ulimit。