![]() |
Re: Massive interactivity improvement under high I/O load!
Quote:
|
Re: Massive interactivity improvement under high I/O load!
Just thought id add my 2 cents, even though this post is a little old...
I have just done a full backup of my rootfs using tar to my MMC and the phone stayed respsonsive for the whole process, before it would kill it. I'm using the settings from page 1 :) |
Re: Massive interactivity improvement under high I/O load!
I must be doing somthing wrong, haven't noticed any improvements in the performance, much less a massive one :(
|
Re: Massive interactivity improvement under high I/O load!
Quote:
Another option would be to use the same trick they used on the old Maemo tablets; make a swap file on the SD card and make that the temporary swap during the extraction. That way, the user doesn't need to know how to repartition the SD card, and the N900 doesn't bog down and possibly reboot... |
Re: Massive interactivity improvement under high I/O load!
Quote:
PS. Simple code example of my idea how to check memory addres: Code:
int *ptr = malloc(100); |
Re: Massive interactivity improvement under high I/O load!
Quote:
However, considering that you mentioned lzma, I believe that what you'd like is for it not to cache any files it access so that other cached files or processes' pages are not evicted from memory; in which case, I suggest you look at the fadvise man page. |
Re: Massive interactivity improvement under high I/O load!
I was hoping for something from the command line...
|
Re: Massive interactivity improvement under high I/O load!
Quote:
Why not just: Code:
# read current valuesEDIT: After reading more posts from this thread, maybe using values from first post isn't BEST option... but there are other settings posted ITT, so you can pick some other ones |
Re: Massive interactivity improvement under high I/O load!
Quote:
|
Re: Massive interactivity improvement under high I/O load!
I tried making a swap file on the SD card, so I could get the benefit of an external swap file without the complexity of repartitioning the card.
Sadly, I ran across this bug: https://bugs.maemo.org/show_bug.cgi?id=7165 Maybe if it were fixed in Titan's power kernel, I could do it... but then that defeats my purpose of trying to find a way to get this working for people who don't want to futz with custom kernels etc. |
Re: Massive interactivity improvement under high I/O load!
1 Attachment(s)
Ok so I was able to decompress ubuntu-m5-v1.img.ext2.lzma in less than 10 minutes (rather than the 45 minutes or more that it usually takes) using the included script, taken from freemangordon here and other places. I have no idea what piece is the "magic piece", I'll have to experiment some more...
Code:
#!/bin/sh |
Re: Massive interactivity improvement under high I/O load!
As a test, I rebooted and ran the same decompression with stock settings. It is still going, over an hour later...
UPDATE: Looking at my "stock" settings, I must have them already tweaked (maybe swappolube?) because I already have swappiness set to 30 and page-cluster set to 0. So those weren't the magic settings that sped up the decompression. And it isn't the noop > scheduler line either, that doesn't seem to have any effect. I wonder if it is just the swapoff / swapon that I do just before decompressing? I'll try that next. |
Re: Massive interactivity improvement under high I/O load!
Quote:
|
Re: Massive interactivity improvement under high I/O load!
@qole
i can confirm that with a Code:
swapoff /dev/mmcblk0p3im going to incorporate that to DON so that we dont have to turn off watchdogs just for decompression. |
Re: Massive interactivity improvement under high I/O load!
Yep. 8 minutes with only swapon/swapoff. The other stuff seems to have a small effect (-2 minutes) but the major speed gain seems to come from the cache reset...
|
Re: Massive interactivity improvement under high I/O load!
just tweaking the two nr_requests after fresh boot let me extract latest easy debian in ~5min (@1ghz)
|
Re: Massive interactivity improvement under high I/O load!
What about the danger of disabling swap (even temporarily) if there is high memory usage at the time? Will OOM killer wreak havoc?
|
Re: Massive interactivity improvement under high I/O load!
I tried the cache reset while apps were open, it wouldn't let me. But definitely tell users to close all other apps during decompression.
I'll see if the nr_request lines help even more... |
Re: Massive interactivity improvement under high I/O load!
Quote:
|
Re: Massive interactivity improvement under high I/O load!
i run the commands at the first post and saved it as a custom setting on swappolube.
i noticed improvement on using the multi-task breaking and microSD card corrupting Transmission app. multi-tasking is like im doing nothing, with transmission open with 3 other apps (web[3], conky, qmltube). although Transmission still lags (not responding) the multi-tasking and other stuff is not affected, or if affected, not fully, before post 1, my device is not usable when transmission is checking for files, but after post 1, this issue is resolved. thanks.......:) |
Re: Massive interactivity improvement under high I/O load!
So the swapoff/swapon works to speed up decompression, but only when Swappolube is enabled. I still need to find the magic setting(s).
|
Re: Massive interactivity improvement under high I/O load!
Quote:
|
Re: Massive interactivity improvement under high I/O load!
I disabled Swappolube, and tried just swapoff/swapon. Decompression took TWO HOURS.
I rebooted, did mmblk0 and mmblk1 nr_requests = 512, and swapoff/swapon, and the same decompression took only 9 minutes. So that seems to be the magic. |
Re: Massive interactivity improvement under high I/O load!
Quote:
thanks. EDIT: i hope this thread be merged here.... |
Re: Massive interactivity improvement under high I/O load!
Also FWIW there are threads on Android forums about this exact same topic, tweaking the settings for better I/O performance. One I read recently suggested setting nr_requests to 1024 (along with a slew of other settings, like we're doing here).
|
Re: Massive interactivity improvement under high I/O load!
it kinda late but i forgot to add that i have Swappolube installed. i only tweaked
Code:
min.Free kbytes from 2039 default to 512 |
Re: Massive interactivity improvement under high I/O load!
i kinda not getting the hang on the wiki, is there a noob way on setting the priority of swaps equal? :o
thanks........google-ing EDIT: found one!!! google and the search bar rules!!! |
Re: Massive interactivity improvement under high I/O load!
i cant set the swap priorities to equal.....>_<
i need light!!! :D |
Re: Massive interactivity improvement under high I/O load!
Quote:
|
Re: Massive interactivity improvement under high I/O load!
qole, I just tought you wanna listen some positive review here. I don't have any problems at all with easy debian, and I use extensively almost all day(s).
Installed it in MicroSD Class6, sharing with NITDroid. No problems at all. Using last power user kernel and SSU, only kernel setting changed is swappiness, to 30. No OC at all, stock @ 600mhz. |
Re: Massive interactivity improvement under high I/O load!
Nice to hear, sr00t, but as i understand it, the problem is not with general Easy Debian use, but with initial unpacking Easy Debian image. That shouldn't take more than 15 minutes, but many time last for 2 hours, and you may not see happy ending, because N900 tend to reboot after long time of 0 responsiveness.
It apply to any big file unpacking (or even copying!) in general, not only Easy Debian. My stone to the garden - i use swap on SD class 2 only, and even with such low class, i see massive improvement, don't even need to use swapoff/swapon. Have in mind that i also tweaked nr_request to 256. That seems quite opposite to setting proposed in first post of this topic - maybe it need update? |
Re: Massive interactivity improvement under high I/O load!
Quote:
To OP - please either remove or update first post to reflect latest findings. Thanks. |
Re: Massive interactivity improvement under high I/O load!
Quote:
|
Re: Massive interactivity improvement under high I/O load!
Swapoff/swapon has the side effect of defragmenting the swap area, which makes future swap writes faster.
|
Re: Massive interactivity improvement under high I/O load!
install swapon from debian package called as mount. unzip using archive manager and copy it to where every you want. there is a thread for creating swap on mmc.
i also have swapon and off script which basically switches one off and second on and otherway round so that all swap gets defragmented. i run generally in 3 to 4 days to cleanup swap space. |
Re: Massive interactivity improvement under high I/O load!
I have a script which looks at the output of 'iostat -m' command. When the amount of megabytes written to a swap partition exceeds the size of the swap partition, the fragmentation effects start. I store the megabytes written in a file after reswap(swapon temp, swapoff main, swapon main, swapoff temp) and keep track of bytes written after last reswap.
|
Re: Massive interactivity improvement under high I/O load!
I also run a re-swap and chunk out to temp and then back to primary every 3 days at 4 AM with fcron.
Helps a ton. |
Re: Massive interactivity improvement under high I/O load!
@shadowk & hawaii:
Do you both do this using the internal swap? I'm curious how much of the slowness people regularly report comes from I/O collisions with the eMMC and how much comes from the swap partition fragmentation - since not that many people move swap off-device onto a microSD and even less run scrips like you two do to make sure swap stays fresh and defragmented I can't help but wonder which of these actually helps more; and if you have experience with both methods seperately, and/or one method seperately and both methods combined, if you perceived one as no longer useful once the other one was implemented. I.E do you feel moving swap to the sd card helps even if you're already doing the swap-space cleaning thing (and vice versa, though I suspect preventing fragmentation is always going to be an improvement in the long run - it's only the disk I/O thing I think could be negligible, given the discoveries in this thread that swapoff/swapon seems to speed up things that were originally believed to be the fault of I/O bottlenecks)? |
Re: Massive interactivity improvement under high I/O load!
I first moved swap to microsd. This helped a little with some I/O heavy things. but found that "stutter" increased significantly after 3-4 days uptime.
I then made a script to dump info (sector numbers) of all write accesses to microsd, plotted that on a graph on my PC. Discovered that it was a linear line (mostly) until reaching the end of the swap area, after which the dots indicating which sector was written to became more and more random. This is how I discovered swap fragmentation issue and the fix. As I still need a temporary swap for the swapoff/swapon cycle I just kept swap mainly on microsd, and use the emmc swap temporarily when refreshing the microsd swap. |
Re: Massive interactivity improvement under high I/O load!
I only use swap on external microsd. I never bothered to do anything intelligent :P I just set a 2 day nightly "reswap" provided my device was locked, plugged in and it was 3 AM in the morning.
I still reboot my device every now and then to clean out cobwebs. |
| All times are GMT. The time now is 15:00. |
vBulletin® Version 3.8.8