![数十个非活动登录会损害性能吗](https://linux22.com/image/52517/%E6%95%B0%E5%8D%81%E4%B8%AA%E9%9D%9E%E6%B4%BB%E5%8A%A8%E7%99%BB%E5%BD%95%E4%BC%9A%E6%8D%9F%E5%AE%B3%E6%80%A7%E8%83%BD%E5%90%97.png)
我在一个与大约 20 个用户共享的集群上工作,其中许多用户是远程操作的。打开登录节点、键入users
并看到列出的约 100 个用户是很常见的,其中大多数是多次登录的同一用户。所有这些登录的 cpu 使用量可以忽略不计,内存使用量也是如此,但不知怎的,它只是似乎不对。登录节点通常也相当缓慢,因此虽然很难将其与网络延迟分开,但我想知道它是否相关。
这些登录是否会以某种方式减慢远程计算机上的交互式会话,而在我运行时不会显示出来top
(即即使它们没有消耗太多内存/CPU)?
答案1
正如评论中已经提到的,由于内存和 CPU 使用率如您所说可以忽略不计,空闲用户不会伤害任何人。如果您仍然想摆脱它们,您可以自动寻找空闲用户并将其踢掉,例如通过定期调用的 shell 脚本cron
,或者通过设置
ClientAliveInterval 1800
ClientAliveCountMax 0
在 中/etc/ssh/sshd_config
。但请尊重这些参数的实际描述sshd_config(8)
,因此您不要期望太多:这些选项仅在服务器实际上未接收时结束会话任何来自用户的数据(即他们打开了一个空闲的 shell,但不执行任何操作)。如果您的用户闲置,例如top
运行,它会稳定地更新其显示,从而通过连接进行通信,则该方法将不起作用(但实际上您可能会争论,显示任何类型信息的长时间运行的进程实际上是否实际上处于闲置状态) 。