一次在Linux OS中运行的用户总数是多少



我想知道答案,因为我找不到任何地方。

它取决于最大UID和PID。UID是32位,因此可以是4,294,967,296,但是PID范围较窄:2^22,这完全是: 4,194,304 。这是理论上的最大值;在现实世界中,已经有一些运行的守护程序,因此大约400万。(在32位上只有32,768)

您可以使用" word count"命令如下:

users | wc -w

理论上,您可以拥有与用户ID空间支持一样多的用户。要在特定系统上确定这一点,请查看UID_T类型的定义。通常将其定义为unsigned_int或int。在英特尔体系结构上,尺寸在/usr/include/bits/typsizes.h中定义。您可以通过在终端上输入以下命令来检查系统中此变量的值

cat /usr/include/bits/typesizes.h | grep UID_T

在我的系统中,此命令的输出显示:

定义__UID_T_TYPE __U32_TYPE

这意味着系统可以托管4294967296(2^32)不同的用户。但是,在达到此限制之前,其他资源可能会筋疲力尽,例如磁盘空间。如果您为每个用户创建一个主目录,那么即使为每个用户的空间只有1MB,您也需要超过4pbs的存储空间。此外,大量的用户离开流程在后台运行,安排CRON作业,打开FTP和/或SSH会话可能会在系统上造成严重的负担。

同时登录的限制:

登录使用SSH时,您会使用分配给SSH守护程序的伪末端(一个PTY),而不是真实的末端(TTY)。根据需要创建和破坏伪末端。您可以找到一次由

一次分配的PTY数量

cat /proc/sys/kernel/pty/max

在我的系统中,此命令的输出显示:

4096

这意味着4096个用户可以同时登录该计算机(远程登录)。

ps:我的Linux分布是64位Fedora 23

PS.PS: Please don't forget to mark answered. And hit my rating. Thank you :) 

最新更新