如果您的 Tor 中继服务器使用了比您预想中更多的记忆储存,这儿有几条减少足迹的贴士:

  • 如果您是 Linux 操作系统,您也许会在glibc的动态内存分配操作里遇到记忆储存碎片故障。 这就是说,当 or 将记忆储存释放回系统后,这些记忆储存的片段被分成了许多碎片,很难再被利用。 Tor 原始码是用 OpenBSD 的动态内存分配操作进行运输的,这个方法没有那么多的碎片故障(但代价是更高的 CPU 负荷)。 You can tell Tor to use this malloc implementation instead: ./configure --enable-openbsd-malloc.
  • 如果您正在运行一个高速中继服务器,这意味着您拥有许多 TLS 连接处于打开状态,您可能正有大量记忆储存流失到了 OpenSSL 的内部缓冲储存器里。(每个数据包 38KB+) 我们已经给 OpenSSL 打过了补丁,来[更激进地释放未使用的缓冲区记忆储存] (https://lists.torproject.org/pipermail/tor-dev/2008-June/001519.html). 如果您升级到 OpenSSL 1.0.0或更新的版本,Tor 的构造进程会自动识别并使用这个特点。
  • 如果您仍然解决不了记忆存储加载的问题,不妨考虑一下减少您的中继服务器公布的带宽。 展示较少的带宽意味着您会吸引较少的用户,所以您的中继服务器的规模应该不会变得很大。 请查阅主页中的MaxAdvertisedBandwidth选项。

所有这些都说明,Tor 高速中继确实需要大量内存。高速出口节点占用500-1000 MB内存是不正常的。