我想增加 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,而无需重新启动服务器。