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