Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Tor
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Container Registry
Model registry
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
The Tor Project
Core
Tor
Commits
aa4f7736
Commit
aa4f7736
authored
10 years ago
by
rl1987
Browse files
Options
Downloads
Patches
Plain Diff
Updating OpenBSD section of doc/TUNING.
parent
aba90b21
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/TUNING
+27
-48
27 additions, 48 deletions
doc/TUNING
with
27 additions
and
48 deletions
doc/TUNING
+
27
−
48
View file @
aa4f7736
...
...
@@ -38,62 +38,41 @@ read-only on OS X.
OpenBSD
-------
For recent versions of OpenBSD (5.5 and 5.6, and probably older releases
as well), the maximum number of file descriptors that can be opened is
7030:
Because OpenBSD is primarily focused on security and stability, it uses default
resource limits stricter than those of more popular Unix-like operating systems.
http://unix.stackexchange.com/questions/104929/does-openbsd-have-a-limit-to-the-number-of-file-descriptors/104948#104948
OpenBSD stores a kernel-level file descriptor limit in the sysctl variable
kern.maxfiles. It defaults to 7,030. To change it to, for example, 16,000 while
the system is running, use the command 'sudo sysctl kern.maxfiles=16000'.
kern.maxfiles will reset to the default value upon system reboot unless you also
add 'kern.maxfiles=16000' to the file /etc/sysctl.conf.
The
maximum number of file descriptors tha
t
a
n
OpenBSD machine can have
open is stored in the sysctl variable kern.maxfiles. This value defaults
to 7030 - to verify this, run sysctl kern.maxfiles
.
The
re are stricter resource limits se
t
o
n
user classes, which are stored in
/etc/login.conf. This config file also allows limit sets for daemons started
with scripts in the /etc/rc.d directory, which presumably includes Tor
.
To immediately change a running system's file descriptor limit to, for
example, 20,000 files, run sudo sysctl kern.maxfiles=20000. All sysctl
variables are reset upon reboot using defaults and /etc/sysctl.conf, so
to make your change permanent you must add the line kern.maxfiles=20000
to /etc/sysctl.conf.
One can also change a maximum number of allowed file descriptors for Tor
daemon alone by editing /etc/rc.d/tor and adding the following lines:
To increase the file descriptor limit from its default of 1,024, add the
following to /etc/login.conf:
tor:\
:openfiles-max=8192:\
:tc=daemon:
However, there are stricter limits set on users. This is a security
feature intended to prevent one user from choking out others by opening
all possible file descriptors.
The stricter limits are set in /etc/login.conf. This config file sets
resource access rules for user classes. You should be running
Tor as a non-privileged daemon user '_tor', which belongs to the 'daemon'
class. It will therefore be subject to the 'default' and 'daemon' rules.
There are two relevant rules: openfiles-cur and openfiles-max. The prior
is the initial limit upon login - the soft limit. The latter is the maximum
limit that can be set using 'ulimit -n' or setrlimit() without editing
/etc/login.conf and rebooting. This is known as the hard limit.
Without editing /etc/login.conf, daemon-owned processes have
soft limit of 512 open files and a hard limit of 1024 open files.
Tor can increase the soft limit as needed, so you will therefore
eventually get warnings about running out of available file descriptors
once Tor reaches ~1024 open files.
To increase the hard limit, add the following line to the daemon class
rules in /etc/login.conf:
:openfiles-max=13500:\
:tc=daemon:
tor:\
:openfiles-max=8192:\
:tc=daemon:
Upon restarting Tor, it will be able to open up to 13,500 file descriptors.
This will work *only* if you are starting Tor with the script /etc/rc.d/tor. If
you're using a custom build instead of the package, you can easily copy the rc.d
script from the Tor port directory. Alternatively, you can ensure that the Tor's
daemon user has its own user class and make a /etc/login.conf entry for it.
High-bandwidth relays sometimes give the syslog warning:
Upon restarting the machine, Tor will be able to open up to 6500 file
descriptors.
/bsd: WARNING: mclpools limit reached; increase kern.maxclusters
Be aware that, by doing this, you are bypassing a security and stability
feature of the OS. If you are running your relay on a weak or old system,
watch your system load to ensure that it can handle this many open files.
Also, Tor may interfere with any other programs that open many files
.
In this case, increase kern.maxclusters with the sysctl command and in the file
/etc/sysctl.conf, as described with kern.maxfiles above. Use 'sysctl
kern.maxclusters' to query the current value. Increasing by about 15% per day
until the error no longer appears is a good guideline
.
Disclaimer
----------
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment