如何获得最大打开文件句柄的软限制

Posted

技术标签:

【中文标题】如何获得最大打开文件句柄的软限制【英文标题】:How to get soft limit of max open file handles 【发布时间】:2021-02-15 19:36:32 【问题描述】:

我有以下几点:

    var limit syscall.Rlimit
    if err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &limit); err != nil 
        log.Fatal("Getrlimit:" + err.Error())
    
    vlog.Infof("%v file descriptors out of a maximum of %v available\n", limit.Cur, limit.Max)

limit.Max 是硬限制,而不是软限制。如何获得软限制?

【问题讨论】:

rLimit.Cur吗? ***.com/a/45526674/13138080,我是新来的,如果不是这样,请道歉 @Ollie,在ulimit -n 4096 之后,limit.Curlimit.Max 都返回4096 @Ollie,你是对的。发布答案,我会投票赞成。 啊。有点偏离,但很高兴它起作用了;) 修改了一下。您提供的链接使用rLimit 作为变量名。我的示例使用limit 作为变量名。重要的部分是.Cur,我认为它表示当前打开的文件描述符的数量。 【参考方案1】:

limit.Cur 是软限制。 limit.Max 是硬限制。

【讨论】:

以上是关于如何获得最大打开文件句柄的软限制的主要内容,如果未能解决你的问题,请参考以下文章

解除Linux最大进程数和最大文件句柄打开数限制

修改RedHat 7.2 进程最大句柄数限制

如何修改linux单进程能够打开的最大文件句柄数

Linux最大打开文件数

更改Erlang文件句柄限制?

让Netty Linux 突破100万的连接量