diff options
Diffstat (limited to 'spec/tor-spec/resource-exhaustion.md')
-rw-r--r-- | spec/tor-spec/resource-exhaustion.md | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/spec/tor-spec/resource-exhaustion.md b/spec/tor-spec/resource-exhaustion.md deleted file mode 100644 index 4dddf9f..0000000 --- a/spec/tor-spec/resource-exhaustion.md +++ /dev/null @@ -1,31 +0,0 @@ -<a id="tor-spec.txt-8"></a> - -# Handling resource exhaustion - -<a id="tor-spec.txt-8.1"></a> - -## Memory exhaustion - -(See also ["Denial-of-service prevention mechanisms in Tor"](../dos-spec.md).) - -If RAM becomes low, an OR should begin destroying circuits until -more memory is free again. We recommend the following algorithm: - -- Set a threshold amount of RAM to recover at 10% of the total RAM. - -- Sort the circuits by their 'staleness', defined as the age of the - oldest data queued on the circuit. This data can be: - - * Bytes that are waiting to flush to or from a stream on that - circuit. - - * Bytes that are waiting to flush from a connection created with - BEGIN_DIR. - - * Cells that are waiting to flush or be processed. - -- While we have not yet recovered enough RAM: - - * Free all memory held by the most stale circuit, and send DESTROY - cells in both directions on that circuit. Count the amount of - memory we recovered towards the total. |