Hier sind ein paar Tipps falls dein Tor Relay zu viel Arbeitsspeicher verbraucht:

  • Wenn du unter Linux arbeitest, wirst du möglicherweise auf Speicherfragmentierungsfehler in der malloc-Implementierung der glibc stoßen. Das heißt, wenn Tor Speicher an das System zurückgibt, werden die Speicherstücke fragmentiert, so dass sie schwer wiederzuverwenden sind. Tarball von Tor wird mit der malloc-Implementierung von OpenBSD ausgeliefert, die nicht so viele Fragmentierungsfehler hat (aber der Kompromiss ist eine höhere CPU-Last). Du kannst Tor anweisen, stattdessen diese malloc-Implementierung zu verwenden: ./configure --enable-openbsd-malloc.
  • Wenn du ein schnelles Relay betreibst, was bedeutet, dass du viele TLS-Verbindungen offen hast, verlierst du wahrscheinlich eine Menge Speicher in den internen Puffern von OpenSSL (38KB+ pro socket). Wir haben OpenSSL gepatcht, um [unbenutzten Pufferspeicher verstärkt freizugeben] (https://lists.torproject.org/pipermail/tor-dev/2008-June/001519.html). Wenn du auf OpenSSL 1.0.0 oder neuer aktualisierst, wird Tors Erstellungsprozess diese Funktion automatisch erkennen und nutzen.
  • Wenn du die Speicherlast immer noch nicht bewältigen kannst, ziehe in Betracht, die von deinem Relay angebotene Bandbreite zu reduzieren. Weniger Bandbreite anzubieten bedeutet, dass du weniger Benutzer anziehen wirst, so dass dein Relay nicht so groß werden sollte. Siehe die Option MaxAdvertisedBandwidth in der Handbuchseite.

Abgesehen davon verbrauchen schnelle Tor-Relays sehr viel Ram. Es ist nicht ungewöhnlich, dass ein schnelles Exit-Relay 500-1000 MB Speicher verbraucht.