Gnutella Forums

Gnutella Forums (https://www.gnutellaforums.com/)
-   General Discussion (https://www.gnutellaforums.com/general-discussion/)
-   -   Too much disk activity (https://www.gnutellaforums.com/general-discussion/51728-too-much-disk-activity.html)

fxjr January 18th, 2006 04:50 PM

Too much disk activity
 
Hi all,

After I upgrade to phex 2.8.2. I noticed that phex produce much more disk activity than 2.6.

Is this by design? I'd like to be able to get the same behavior I had with 2.6. I like the new gui of 2.8.

Do you know of anything like that?

Thanks in advance.

fxjr January 18th, 2006 04:51 PM

I also tried phex from cvs. It has the same behavior.

Thanks in advance.

GregorK January 19th, 2006 12:15 AM

After startup Phex needs to hash all your shared files. This produces much disk activity, but this was always the case.

Remove all your shared files... do you still have high disk activity? Can you isolate the problem to happen only during download or upload or always even when beeing "idle"?

Gregor

fxjr January 20th, 2006 04:00 AM

Hi GregorK.

Thanks for your reply.

I did the following to check if it was file hashing which was causing disk activity.

I used phex from cvs.

I stopped all my downloads. Now I didn't notice any disk activity. I waited a good time to see if it would start.

So, I started just one download. As soon as it started downloading, the disk activity started again. After I have many downloading going the disk activity gets higher.

It seems phex is writing to disk as soon as it gets data from network. I mean, there is no or little buffering happening.

I don't know where hash results are stored. I would say that they are stored in my .phex. If I start phex 2.6 no matter how many downloads I have, it doesn't produce disk activity.


Thanks in advance.

arne_bab January 20th, 2006 04:22 AM

I think that observation is correct. Phex writes to disk, when it gets data, and especially in the high rates you can get from Gnutella I assume that this saves quite a lot of ram.

fxjr January 20th, 2006 04:41 AM

Maybe there is some flag in phex.cfg I could use to make phex use some type of buffering?

Another thing I noticed, this time positive, is that Phex uses much less processor that it used to use althought I think it still is using a little bit. This is excellent because my notebook makes less noise turning on the fan :)

GregorK January 20th, 2006 06:34 AM

Since you use the CVS version you can play a bit...

Please try the following...

Open DownloadEngine.java and raise the value of BUFFER_LENGTH in line 55.
First try something like 63 * 1024

Maybe this already helps....

In case you like/must raise above 64 * 1024 you must adjust the request to DirectByteBufferProvider in line 575/576 too.

The value of BUFFER_LENGTH in DownloadEngine.java MUST always be lower then the value used in line 575/576 to request the DirectByteBufferProvider.

Gregor

fxjr January 21st, 2006 05:21 AM

Hi GregorK.

I only had access to my devel box now.... :(

Well, I did the change and things started to get better when I put the buffer size to be 63 * 1024 * 100 !! :(

But even with this buffer, I still saw more disk activity than it used to have with 2.6.

Also, phex rss was more than 148M for just three download files!

fxjr 26431 16.9 29.3 354796 148580 pts/8 Sl+ 11:19 0:24 java -jar phex.jar

I reverted to 63 * 1024. And now phex is using less memory, downloading the same three files:

fxjr 27105 7.1 14.2 315084 72272 pts/8 Sl+ 11:23 0:25 java -jar phex.jar

Do you have any other idea I could try out?

I was wondering if this too much disk activity could be caused by excessive flush() calls?

Did 2.6 also use java.nio?

Thanks in advance.

GregorK January 22nd, 2006 07:11 AM

63*1024*100 is way too much... this is about 6MB per connection...
Raising buffer sizes will always also raise memory use. I would not recommend you values above 512*1024.

When raising the buffers you also need to raise your 'Initial download segment size' and the 'Target time per segment', since large buffers dont help you when the requested download segments are much smaller then the buffers.

Phex is almost not using flush() during downloads.

Gregor

fxjr January 22nd, 2006 08:15 AM

Yeah. I was aware of this big memory usage. I just wanted to stress it to see if it was buffer length problems :)


Thanks for info about flush().

I hope it is something with the parameters you said.
I will try the modifications you said and let you know what I get.


All times are GMT -7. The time now is 09:27 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

Copyright © 2020 Gnutella Forums.
All Rights Reserved.