[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: Memory use




0.1.0.5 and 0.1.0.8 both show this behavior. I haven't been doing anything heavy since post-0.1, so I don't know if it's gotten "better". This is acting as a client, although I've noticed it devours quite a lot of CPU when acting as a server also. Mostly I'm concerned about the client right now. :P


-Ben

Jonathan D. Proulx wrote:
On Thu, May 26, 2005 at 11:45:42AM -0700, Ben Wilhelm wrote:
:
:It also uses a metric ton of CPU power when it's under heavy load. I've :had it saturate the entire CPU, and I think it stops transmitting data :in those situations too. It's spending a lot of that in a giant :linear-time search through a bunch of strings, and when I get some free :time I'm going to try to speed that up to O(log n) or a hash table or :something, and send the patch in if it seems stable and good.


are you running 0.0.9.x or 0.1.0.x

the 0.1 stuff has been using a lot less CPU, though it could still be
a lot for some.  My mixed use dual xeon workstation (spoon) runs at
about 30-40% CPU for TOR while a dedicated Sun E250 (kropotkin, dual
UltraSaprc II) running Linux sweats at 50-60% CPU (for TOR) and 480M
memory utilization (system wide).

These are heavy specs, but the 0.0.9 stuff would happily suck down all
the CPU on my worksation and start to choke out interactive
processes.  If you want to cut down on CPU beyond this you can tweak
"MaxAdvertisedBandwidth" in torrc

from the torrc man page:

MaxAdvertisedBandwidth N bytes|KB|MB|GB|TB
              If set, we will not advertise more than this amount of
              bandwidth for our BandwidthRate.  Server operators who
              want to reduce the number of clients who ask to build
              circuits through them (since this is proportional to
              advertised bandwidth rate) can thus reduce the CPU
              demands on their server without impacting network
              performance.

Don't know how if this influences memory

-Jon