Limit for open descriptors



  • I'm writing a demon to go using http://github.com/sevlyar/go-daemon ♪ The question is:

    What's the limit, by default, to the number of open descriptors to go? How do you change it? Are there any generally accepted recommendations on their number?



    1. Starting at check. ulimit -a and ulimit -aH in shell' before By launching your demon. It's gonna be quick to show the current soft and second challenge to the hardest restrictions. Help ulimit It is possible to remove soft restrictions to the limits of rigidity. It should be understood that ulimit Changes only current limits, silk and all programmes launched in the silla, so after the session or even another window of terminals, the values will remain unchanged.

    2. The next place of limitation, this time, permanent, is /etc/security/limits.conf and catalogue /etc/security/limits.d/The restriction is called nofile♪ Reading (and sometimes watch) these files can only be a super-user. There are restrictions on individual users or groups used for the entire session of the user or all users of a given group.

    3. And finally, there's a system restriction imposed through sysctl - that's it. fs.nr_open:

      /sbin/sysctl -n fs.nr_open

    He matches the file. /proc/sys/fs/nr_open

    Programmatically manipulating the current process limits within the limits of the severe restrictions assigned to the session is carried out through challenges http://linux.die.net/man/3/getrlimit / http://linux.die.net/man/3/setrlimit which can be called from Go using FFI (see examples, n-p, https://stackoverflow.com/questions/2740315/how-do-i-call-c-from-go-using-the-foreign-function-interface )




Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2