如何为 EC2 上的 AWS SSM 代理设置 ulimit?

如何为 EC2 上的 AWS SSM 代理设置 ulimit?

我想增加 AWS SSM 代理启动的进程允许打开的文件数。我已添加到/etc/security/limits.conf

*  -  nofile  65535

(我知道这适用于所有用户)。当我登录服务器并运行 时ulimit -n,我看到新的限制为 65536。但是,当我运行 SSM RunCommand 时:

id && ulimit -n

我在日志中看到以下内容:

uid=0(root) gid=0(root) groups=0(root) 1024

看起来它amazon-ssm-agent没有采用新设置。但我可以看到守护进程以 root 身份运行。

$ ps -ef | grep ssm
root      4843     1  0 07:30 ?        00:00:00 /usr/bin/amazon-ssm-agent

我如何增加ulimit价值?

答案1

您必须关闭所有活动会话窗口才能获取新值。最简单的方法是重新启动服务器。如果这不可行,您还可以使用以下命令调整 ssm-agent 进程的值:

prlimit --pid <pid> --<limit>=<soft>:<hard>

因此类似于:

prlimit --pid 4843 --nofile=65535:65535

应该将 ssm-agent 进程的软硬限制设置为 65535,而无需重新启动服务器。

相关内容