I am currently running Cyanogen's latest. I have a 40MB Swap partition, however; I'm curious as to whether or not it has been activated or enabled automatically via some script within his build version? I have been using the application known as "Swapper" to perhaps utilize my partition, so far, I have noticed that it seems to "swap" properly...but is using a specific command what actually has to be done to initiate the swap feature and partition to be used?
I've read in several threads and message boards that have claimed to find utilizing Compcache w/ back_swapping was in fact more efficient or "better" if you will - than using the typical Linux-swap for your 3rd partition.
EX. - http://androidcommunity.com/forums/archive/index.php/t-22465.html
If there is a proper way to be sure that the partition is being used for swap, (i.e. - terminal commands, etc.) let me know. Any advice would be greatly appreciated. Thanks.
Bump, bump, bump, bump it up.
Come on guys. This stuff is considered important. I'm just in need of a little advanced feedback. Trust me, if there's anything I can do for you, I'd be willing to help and exchange information.
Thanks.
cyanogen's roms have compcache enabled by default if you don't have a userinit.sh file in /system/sd. If you do, then compcache will be disabled and u will have to manually enable it in the userinit.sh file.
To see if you have a swap, run "free" in adb shell or the terminal.
To see if you have compache enabled, run
rzscontrol /dev/block/ramzswap0 -s
from the shell.
If you are using swapper app, and you don't have a userinit.sh file, then you are most likely running both compcache and swap at the same time.
If you want to enable compcache with backing_swap, create a userinit.sh file and paste these lines into it. Then make sure to turn off the swapper app.
Code:
modprobe ramzswap;
rzscontrol /dev/block/ramzswap0 -i -b /dev/block/mmcblk0p3;
swapon /dev/block/ramzswap0;
Finally...
dwang said:
cyanogen's roms have compcache enabled by default if you don't have a userinit.sh file in /system/sd. If you do, then compcache will be disabled and u will have to manually enable it in the userinit.sh file.
To see if you have a swap, run "free" in adb shell or the terminal.
To see if you have compache enabled, run
rzscontrol /dev/block/ramzswap0 -s
from the shell.
If you are using swapper app, and you don't have a userinit.sh file, then you are most likely running both compcache and swap at the same time.
If you want to enable compcache with backing_swap, create a userinit.sh file and paste these lines into it. Then make sure to turn off the swapper app.
Code:
modprobe ramzswap;
rzscontrol /dev/block/ramzswap0 -i -b /dev/block/mmcblk0p3;
swapon /dev/block/ramzswap0;
Click to expand...
Click to collapse
I've been eager to get some useful information from someone in the community who is familiar with these procedures. I appreciate your feedback. However, here is my current situation; as previously stated:
- I've been using the application called, "Swapper for Root Users."
- I double-checked the status of this so-called SWAP from the terminal emulator and the information is displayed as follows:
* After enter the command "FREE" *
Towards the bottom of the provided information there is:
SWAP: total - 24464 / used - 12244 / free - 12220
TOTAL: total - 122344 / used - 108736 / free - 13608
As for what I have altered under settings with that application - I did utilize a feature which claims that it allows the application to SELECT your Linux-swap partition, instead of creating a "momentary" swap section on either of the other two partitions of my SD card. I have "swappiness" set to 20 currently. My partition, as stated previously is 40MB as opposed to 32MB. I have had more positive experiences thus far...not to mention it was suggested by several other people amongst the community.
Is the possibility of Compcache and the actual Linux-swap operating at the same time necessarily be considered a bad thing? Perhaps having more of a negative affect as opposed to a positive affect? Finally, if you don't mind me asking...which would you suggest or personally recommend:
Compcache enabled with back_swapping
-OR-
Linux-swap enabled
Thanks man. This is about the most successful set of advice I've received in a few days. Hella props.
Bumpinator.
Sorry guys, just waiting on a detailed reply from this boss right here who has posted a pretty in-depth process on my dilemma.
As soon as I come to a decision, make the changes, and finalize the device alterations...I will close this. Thanks.
When CompCache is managing your swap settings, you can use backing swap OR Linux swap. If you look in the user.conf and in that androidcommunity thread you posted, they both say:
#
# linux swap can only be enabled if cc_backingswap_en is set to "0"
#
But you weren't asking that question and you probably knew it already?
Word on the Dream forum from most users is that CompCache with backing swap provides better performance than Linux Swap or CompCache without backing swap (and I also agree with this).
Personally I would not use 2 apps to write to swap files/partitions on your SD card at the same time. You should be minimising reads and writes to the sd card as much as possible to help speed things up.
There is a lot more discussion on Compcache in the dream section on this board, you can probably find your answers already rather than constantly bumping this thread.
Looks like you only have compcache enabled, as by default compcache sets up a 24meg swap.
did you create your linux swap correctly?
after you partition the sdcard. You still need to run
mkswap /dev/block/mmcblk0p3 from the terminal.
do a "ls /dev/block" from the term and make sure that the file mmcblk0p3 exists. If not, run mkswap.
I would personally either run compcache by itself, or with backing_swap, both are faster than a straight linux swap IMO.
As for swappiness, thats up to you. I run swappiness at 60 myself.
You can set it by putting this line in your userinit.sh
sysctl -w vm.swappiness=
put your swappiness value after the =
Reignzone said:
I've been eager to get some useful information from someone in the community who is familiar with these procedures. I appreciate your feedback. However, here is my current situation; as previously stated:
- I've been using the application called, "Swapper for Root Users."
- I double-checked the status of this so-called SWAP from the terminal emulator and the information is displayed as follows:
* After enter the command "FREE" *
Towards the bottom of the provided information there is:
SWAP: total - 24464 / used - 12244 / free - 12220
TOTAL: total - 122344 / used - 108736 / free - 13608
As for what I have altered under settings with that application - I did utilize a feature which claims that it allows the application to SELECT your Linux-swap partition, instead of creating a "momentary" swap section on either of the other two partitions of my SD card. I have "swappiness" set to 20 currently. My partition, as stated previously is 40MB as opposed to 32MB. I have had more positive experiences thus far...not to mention it was suggested by several other people amongst the community.
Is the possibility of Compcache and the actual Linux-swap operating at the same time necessarily be considered a bad thing? Perhaps having more of a negative affect as opposed to a positive affect? Finally, if you don't mind me asking...which would you suggest or personally recommend:
Compcache enabled with back_swapping
-OR-
Linux-swap enabled
Thanks man. This is about the most successful set of advice I've received in a few days. Hella props.
Click to expand...
Click to collapse
dwang said:
Looks like you only have compcache enabled, as by default compcache sets up a 24meg swap.
did you create your linux swap correctly?
after you partition the sdcard. You still need to run
mkswap /dev/block/mmcblk0p3 from the terminal.
do a "ls /dev/block" from the term and make sure that the file mmcblk0p3 exists. If not, run mkswap.
I would personally either run compcache by itself, or with backing_swap, both are faster than a straight linux swap IMO.
As for swappiness, thats up to you. I run swappiness at 60 myself.
You can set it by putting this line in your userinit.sh
sysctl -w vm.swappiness=
put your swappiness value after the =
Click to expand...
Click to collapse
Thanks again bro. This is good stuff.
So, I ran the "ls /dev/block" to check out the status; here's what I got:
loop0 ------------ loop6 ---------------- mtdblock0 ------------ mtdblock6
loop1 ------------ loop7 ---------------- mtdblock1 ------------ ramzswap0
loop2 ------------ mmcblk0 ------------- mtdblock2 ------------ vold
loop3 ---------- mmcblk0p1 ---------- mtdblock3 ----------- (empty space)
loop4 ---------- mmcblk0p2 ----------- mtdblock4 ---------- (empty space)
loop5 ---------- mmcblk0p3 ----------- mtdblock5 ---------- (empty space)
Assuming that because I see the "mmcblk0p3" I did correctly partition the SD card. After all, I used GParted. Lol.
But for now, I think I'll be set with Compcache running by default on Cyanogen's build, with a Linux-swap partition being utilized as opposed to back_swap.
Is there any other suggestions you might have for me? Advice? Questions? Thanks again.
EDIT: I ran the command from the terminal:
# mkswap /dev/block/mmcblk0p3
Then this came up:
Setting up swapspace version 1, size = 40305664 bytes
Then I ran command:
# free
And I see that where it says SWAP, there is more "memory" all across the board.
As for setting the swappiness, isn't it set to 60 by default upon activation?
Also, the "userinit.sh" - I don't think I have even messed with that or have one for that matter.
Related
I wrote this to help when I'm flashing roms and thought I'd share. Let me know what you think - comments, suggestions, fixes.
This is a batch file that gives a menu to perform the following functions:
Code:
echo [1] Edit user.conf
echo [2] Swap status
echo [3] Turn Swap On
echo [4] Turn Swap Off
echo [5] Set swappiness
echo [6] Memory Status
echo [7] Partition SD Card
echo [8] Mount SDCARD in recovery
echo [9] Unmount SDCARD in recovery
echo [10] Repair EXT partition
echo [11] Erase EXT partition
echo [12] Backup EXT partition
echo [13] Restore EXT partition
echo [14] Push lockscreen image
echo [15] Reboot device to recovery
echo [16] Reboot device
echo [17] Wipe device <--- May be buggy
echo [99] Exit
Partitioning is done by using 51dusty's sdparted.
v1.1
Added Repair EXT partition
Added Wipe device (may be buggy)
Extract config.bat to your adb directory (containing adb.exe and AdbWinApi.dll) and run it.
If you aren't familiar with adb, check this thread here.
phillip_hooper said:
I wrote this to help when I'm flashing roms and thought I'd share. Let me know what you think - comments, suggestions, fixes.
This is a batch file that gives a menu to perform the following functions:
Code:
[1] Edit user.conf
[2] Swap status
[3] Turn Swap On
[4] Turn Swap Off
[5] Set swappiness
[6] Memory Status
[7] Partition SD Card
[8] Mount SDCARD in recovery
[9] Unmount SDCARD in recovery
[10] Erase EXT partition
[11] Backup EXT partition
[12] Restore EXT partition
[13] Push lockscreen image
[14] Reboot device to recovery
[15] Reboot device
Partitioning is done by using 51dusty's sdparted.
Extract config.bat to your adb directory (containing adb.exe and AdbWinApi.dll) and run it.
Click to expand...
Click to collapse
Hi Phillip, this looks like it has some promise. Can you give some more specifics (commands) for the noobs (like once you open ADB, what then?), or, does a menu come up? I am at adb remount/successful. now what? Thanks.
wbexpress said:
Hi Phillip, this looks like it has some promise. Can you give some more specifics (commands) for the noobs (like once you open ADB, what then?), or, does a menu come up? I am at adb remount/successful. now what? Thanks.
Click to expand...
Click to collapse
All you have to do is run config.bat, don't run adb. Type the number of what you want it to do.
Here's some more explanation of what this does, minus the obvious ones.
[1] Edit user.conf
This will automatically pull the user.conf file and open an editor, then automatically put it back on your phone after you make your changes and save.
[2] Swap status
[3] Turn Swap On
[4] Turn Swap Off
[5] Set swappiness
This asks for a value then sets the swappiness to that value.
[6] Memory Status
This shows how much RAM and swap is available and how much is in use.
[7] Partition SD Card
This asks what filesystem you want (EXT2, EXT3, EXT4) on your SDcard, and how big you want the swap partition to be, then formats the card have a FAT32, EXT?, and Swap partition.
[8] Mount SDCARD in recovery
This gives your SDCARD a drive letter in windows while the phone is in recovery mode.
[9] Unmount SDCARD in recovery
[10] Erase EXT partition
[11] Backup EXT partition
This copies the files in your EXT partition to a folder on your computer.
[12] Restore EXT partition
[13] Push lockscreen image
This takes a picture you put in the same folder as config.bat and makes it the background image of your lockscreen.
[14] Reboot device to recovery
[15] Reboot device
phillip_hooper said:
All you have to do is run config.bat, don't run adb. Type the number of what you want it to do.
Here's some more explanation of what this does, minus the obvious ones.
[1] Edit user.conf
This will automatically pull the user.conf file and open an editor, then automatically put it back on your phone after you make your changes and save.
[2] Swap status
[3] Turn Swap On
[4] Turn Swap Off
[5] Set swappiness
This asks for a value then sets the swappiness to that value.
[6] Memory Status
This shows how much RAM and swap is available and how much is in use.
[7] Partition SD Card
This asks what filesystem you want (EXT2, EXT3, EXT4) on your SDcard, and how big you want the swap partition to be, then formats the card have a FAT32, EXT?, and Swap partition.
[8] Mount SDCARD in recovery
This gives your SDCARD a drive letter in windows while the phone is in recovery mode.
[9] Unmount SDCARD in recovery
[10] Erase EXT partition
[11] Backup EXT partition
This copies the files in your EXT partition to a folder on your computer.
[12] Restore EXT partition
[13] Push lockscreen image
This takes a picture you put in the same folder as config.bat and makes it the background image of your lockscreen.
[14] Reboot device to recovery
[15] Reboot device
Click to expand...
Click to collapse
Yeah, this is gonna be sweet when I get some time to play around with it. If I have ?'s would you prefer PM's or in open forum?
This looks awesome. Do you have to already have apps2sd on your mt3g for use of step 7? Or is this just an easier way to do so?
wbexpress said:
Yeah, this is gonna be sweet when I get some time to play around with it. If I have ?'s would you prefer PM's or in open forum?
Click to expand...
Click to collapse
Feel free to post in the thread.
rizoh66 said:
This looks awesome. Do you have to already have apps2sd on your mt3g for use of step 7? Or is this just an easier way to do so?
Click to expand...
Click to collapse
7 is to create partitions on the card, then if you flash a rom that uses apps2sd it'll use that ext partition. It uses sdparted to create the partitions, which I think has become standard on most roms. If you flash a rom without it, you can put it on there using the link the first post.
CPU status readings
Hi Phillip, I'm having a lot of fun with your configurator. I would like to ask your opinions on some things related to CPU speed. To that end, I have enclosed the user.conf text I ran, below. The first question is, though: do you have an opinion as to whether the Overclock Widget app causes any potential conflicts or issues? If so, I will get rid of it. My sense from communicating with Mike Taylor on the JACxROM thread is that the ROM more or less sets the CPU automatically. Next, as I understand it, if sacrificing a bit of battery life is acceptable, then the minimum frequency can be set higher, and in one of his last posts he recommended 245760. From what I am attaching below, I am not savvy enough to know exactly what I've got going here. The terms "scaling min freq" and "default" are a little bit beyond me. Bottom line: is the lowest setting currently 128000 or 245760, and is there really any harm in having it set to this level or even higher? I'm almost always plugged into some power source, so battery life does not concern me. Finally, please explain what this means at the bottom of the reading: "percent cpu usage before going up a speed step". Thanks...
# General parameters
general{
apps2sd=1 # this is useless here, require a modified a2sd script
CONF_FILE="/system/bin/user.conf" #location of user.conf
media2sd=1 # moves the medias to sd if /system/sd/media exists
permission_fix=0 # perform permission fix at start up (this parameter sets to 0 after script is executed)
odex_auto=0 # perform auto create or del odex for applications installed or removed within 3 days
odex_apk=0 # creates odex for apk that does not have odex yet (this parameter sets to 0 after script is executed)
odex_all=0 # creates odexes for all apks (this parameter sets to 0 after script is executed)
}
#compcache related parameters
compcache{
compcache_en=1 # enable(1) or disable(0) compcache
cc_disksize=32 # Ram swap disksize - any number between 1 to 95 should work; default is 1/4 of the RAM (24)
cc_memlimit=16 # Limit the memory usage for backing swap (cc .5x known issue-defaults to 15% of total RAM)
cc_backingswap_en=1 # enable(1) or disable(0) backing swap
cc_backingswap=/dev/block/mmcblk0p3 # pointing to the backingswap partition device, swap
cc_swappiness=28 # default 60
}
#create swap file for compcache or linux swap
swap_file{
swap_file_en=0 # set to 1 to create swap file
# set to 0 to del the swap file
linux_swap_file_size=32 # swap file size in MB
linux_swap_file=/system/sd/swap.file # pointing to the swap file location ( must be /system/sd/)
}
#Linux swap parameters
#
# linux swap can only be enabled if cc_backingswap_en is set to "0"
#
linux_swap{
linux_swap_en=0 # enable(1) or disable(0) linux swap
linux_swap_partition=/dev/block/mmcblk0p3 # swap partition device
swappiness=30 # default 60
}
#virtual memory
sys_vm{
sys_vm_en=1 # enable(1) or disable(0) virtual memory configurations
page_cluster=0 # default 3, (0 since CM3.9.6+)
laptop_mode=0 # default 0
dirty_expire_centisecs=3000 # default 3000
dirty_writeback_centisecs=500 # default 500
dirty_background_ratio=5 # default 5
dirty_ratio=10 # default 10
}
#cpu clock
proc_cpu{
proc_cpu_en=1 # enable(1) or disable(0) user cpu configurations
# freqency options
# 19200
# 122880
# 128000
# 245760
# 384000
# 528000
scaling_min_freq=128000 # default 245760
scaling_max_freq=528000 # default 528000
sampling_rate=2000000 # default 2000000 depending on kernel version
powersave_bias=0 # default 0, (200 since CM3.9.6+ )
up_threshold=45 # default 40, percent cpu usage before going up a speed step
}
# custom shell commands, these commands run last
custom_shells{
#echo "Hello!!!" # example
#echo "You can create your own cmmands here" # example
}
I'm glad you're getting use out of it. I've never used the overclock widget, as you said, you don't really need it because the rom does it for you. I set the minimum cpu to 384000 and up threshold to 30 and it stays speedy.
The up threshold - the percent cpu usage before going up a step means how much of the cpu do you want to get used before it speeds the cpu up. I set this at 30. I really don't know if these settings do any damage, but it runs fast. I'm sure the battery takes a hit, but my phone stays plugged in a lot.
For the user.conf file I make these changes:
compcache_en=0
cc_backingswap_en=0
linux_swap_en=1
swappiness=40
scaling_min_freq= 384000
up_threshold=30
phillip_hooper said:
I'm glad you're getting use out of it. I've never used the overclock widget, as you said, you don't really need it because the rom does it for you. I set the minimum cpu to 384000 and up threshold to 30 and it stays speedy.
The up threshold - the percent cpu usage before going up a step means how much of the cpu do you want to get used before it speeds the cpu up. I set this at 30. I really don't know if these settings do any damage, but it runs fast. I'm sure the battery takes a hit, but my phone stays plugged in a lot.
For the user.conf file I make these changes:
compcache_en=0
cc_backingswap_en=0
linux_swap_en=1
swappiness=40
scaling_min_freq= 384000
up_threshold=30
Click to expand...
Click to collapse
Sorry, I think I'm doing something wrong. I just changed those values, hit "enter", x'ed out of the cmd screen, reopened, entered "1", but the values did not change. Is there a final step I am missing? Do I need to click "save" in the drop down of the cmd screen instead of "enter" on the keyboard?
wbexpress said:
Sorry, I think I'm doing something wrong. I just changed those values, hit "enter", x'ed out of the cmd screen, reopened, entered "1", but the values did not change. Is there a final step I am missing? Do I need to click "save" in the drop down of the cmd screen instead of "enter" on the keyboard?
Click to expand...
Click to collapse
I see what happened. You edited the temp file that gets put on your computer and saved it, but closed the command window before it was put back on your phone. After saving your edits, you have to choose 'exit' from the file menu. That'll exit the editor, then put the changed file onto your phone and return you to the menu.
After editing:
alt+f (file menu)
s (save)
alt+f (file menu)
x (exit)
phillip_hooper said:
I see what happened. You edited the temp file that gets put on your computer and saved it, but closed the command window before it was put back on your phone. After saving your edits, you have to choose 'exit' from the file menu. That'll exit the editor, then put the changed file onto your phone and return you to the menu.
After editing:
alt+f (file menu)
s (save)
alt+f (file menu)
x (exit)
Click to expand...
Click to collapse
OK, that was beyond easy. Thanx again. One last question (for now): I know even less about the whole compcache/linux swap thing than I do about CPU settings. However, I think I get it that you either use one or the other, and in post #9 I'm assuming you're using the linux swap and not compcache. Can you explain why you chose one over the other? I know there's all sorts of debates, just wanted to hear your thoughts on the subject.
wbexpress said:
OK, that was beyond easy. Thanx again. One last question (for now): I know even less about the whole compcache/linux swap thing than I do about CPU settings. However, I think I get it that you either use one or the other, and in post #9 I'm assuming you're using the linux swap and not compcache. Can you explain why you chose one over the other? I know there's all sorts of debates, just wanted to hear your thoughts on the subject.
Click to expand...
Click to collapse
I use linux swap because I'm running jacxheroski 2.1 (I tried 2.2a/b/r4 and it was too buggy and rebooted) and compcache doesn't work on the MyTouch on 2.1. I really don't know anything about how each works and how they are different, I just know linux swap works for me.
phillip_hooper said:
I use linux swap because I'm running jacxheroski 2.1 (I tried 2.2a/b/r4 and it was too buggy and rebooted) and compcache doesn't work on the MyTouch on 2.1. I really don't know anything about how each works and how they are different, I just know linux swap works for me.
Click to expand...
Click to collapse
Good enough. Yup, I'm gathering as I read more, "to each his own". Mike recommended the settings he put into the JACxROM, so I'll go with the master's recommendations. Thanks again.
new info
Hi Phillip, long story shorter, Mike changed some things up on the earlier JACxROM version, and based on what he said and what I'm attaching, it appears linux swap vs. compcache is the way to go on that one. He recommends a 64 MB swap partition. I am not able to tell what size it is. Can you? Your configurator is really fun but still a bit beyond me...
# User.conf by miketaylor00
# General parameters
general{
apps2sd=0 # this is useless here, require a modified a2sd script
media2sd=1 # moves the medias to sd if /system/sd/media exists
}
#compcache related parameters
compcache{
compcache_en=0 # enable(1) or disable(0) compcache
cc_disksize=32 # Ram swap disksize - any number between 1 to 95 should work
cc_memlimit=18 # Limite the memory usage when backing swap is used
cc_backingswap_en=0 # enable or disable backing swap
cc_backingswap=/dev/block/mmcblk0p3 # pointing to the backingswap partition device
cc_swappiness=28 # default 60
}
#Linux swap parameters
#
# linux swap can only be enabled if cc_backingswap_en is set to "0"
#
linux_swap{
linux_swap_en=1 # enable(1) or disable(0) linux swap
linux_swap_partition=/dev/block/mmcblk0p3 # swap partition device
swappiness=30 # default 60
}
#virtual memory
sys_vm{
sys_vm_en=1 #enable(1) or disable(0) virtual memory configurations
page_cluster=3 # default 0
laptop_mode=0 # default 0
dirty_expire_centisecs=3000 # default 3000
dirty_writeback_centisecs=500 # default 500
dirty_background_ratio=5 # default 5
dirty_ratio=10 # default 10
}
#cpu clock
proc_cpu{
proc_cpu_en=1 #enable(1) or disable(0) user cpu configurations
# freqency options
# 19200
# 122880
# 128000
# 245760
# 384000
# 528000
scaling_min_freq=192000 # default 245760
scaling_max_freq=528000 # default 528000
sampling_rate=2000000 #default 200000 depending on kernel version
powersave_bias=0 # default 0, CM3.9.6 default uses 200
up_threshold=45 # default 40, percent cpu usage before going up a speed step
}
wbexpress said:
Hi Phillip, long story shorter, Mike changed some things up on the earlier JACxROM version, and based on what he said and what I'm attaching, it appears linux swap vs. compcache is the way to go on that one. He recommends a 64 MB swap partition. I am not able to tell what size it is. Can you? Your configurator is really fun but still a bit beyond me...
Click to expand...
Click to collapse
Using swap automatically uses the full swap partition (whatever size you set when you formatted the SD card).
Use "[6] Memory Status" from the menu.
Your total swap size will be across from "Swap:" under "total" heres mine (62676):
Code:
total used free shared buffers
Mem: 97852 96120 1732 0 620
Swap: 62676 25528 37148
Total: 160528 121648 38880
any chance of this being converted to linux-friendly ?!
I might be able to do the work to convert the script to linux-friendly, if mr hooper would allow it!
crizznaig said:
any chance of this being converted to linux-friendly ?!
I might be able to do the work to convert the script to linux-friendly, if mr hooper would allow it!
Click to expand...
Click to collapse
That'd be awesome. I don't use linux, but if you want to knock that out, feel free. I'll add it to the first post.
Hi, I'm new to Android.
I installed the SDK, and put your script in ../android/tools
Yes, I put ../android/tools in my path (winxp).
I'm running Cyanogenmod 4.1.999
when I run your script, it says 'Device state is unknown'.
I can mount my sdcard as a removable drive when I connect it via usb to my computer. Did I not install something that I needed to?
Also, does anyone know where Cyanogen put the user.conf in his mod?
Thanks in advance and sorry for my noobitude.
olorin12 said:
Hi, I'm new to Android.
I installed the SDK, and put your script in ../android/tools
Yes, I put ../android/tools in my path (winxp).
I'm running Cyanogenmod 4.1.999
when I run your script, it says 'Device state is unknown'.
I can mount my sdcard as a removable drive when I connect it via usb to my computer. Did I not install something that I needed to?
Also, does anyone know where Cyanogen put the user.conf in his mod?
Thanks in advance and sorry for my noobitude.
Click to expand...
Click to collapse
If you are in recovery mode it should say device is unknown. This is normal. If the phone is booted and shows unknown then you'll want to be sure you installed the usb_drivers from the sdk properly.
Thanks, that worked.
I have 2 computers, drivers would not update on one, but the were able to install on the other. Can't figure out why.
I'm using cyanogenmod 4.1.999, and it says that I don't have a user.conf, and it also says 'system/bin/swap not found'.
This is what it shows when I press 6 (memory status):
total used free shared buffers
Mem: 98140 96300 1840 0 432
Swap: 96812 24520 72292
Total: 194952 120820 74132
Device is booted.
Is it normal for that much memory to be used (I have the 192mb Mytouch)?
P.S., thanks for the Configurator app!
i am developing an application in android..but i got an issue of getting an error..that is out of memory exception while i am converting my file contents to byte array..i think this the problem of reduced heap size..can u plz tell me how can i increase the vm heap size..i am using eclipse...
That's interesting, I would like to know the answer to this question as well. What type of phone are you using and how big is the file?
HTC desire it has already a 516 mb RAM
file is about 10mb long
broody said:
That's interesting, I would like to know the answer to this question as well. What type of phone are you using and how big is the file?
Click to expand...
Click to collapse
phone is htc desire...file 10 mb
for the moto droid it's in the build.prop. It may be there for other your phone too.
but i canot edit that file.....
i need to install my application on defferent phones....i think i need a change in the application configuration.....is there any way????? plz...reply
VM heap is a system variable so can not be changed on a per-application basis.
Because it is a system variable it can only be changed by a root process.
It is established and maintained in build.prop, it is read at boot into a variable space then can be changed, again by a uid=0 process only, in runtime (e.g. CM6 has a runtime option). The runtime option also edits build.prop.
i need more memory for my application...would you plz tell me a way to increase memory...
how can i increase the memory size for a normal third party application ????
I was under the impression the heap was something like 16mb, is that not the case? What kind of data are you loading?
files like jpeg,mp3,avi etc..
suhas.m said:
i need more memory for my application...would you plz tell me a way to increase memory...
Click to expand...
Click to collapse
Using so much memory (and even more, if you find a way to increase the memory available to your app, which I doubt) is not being very friendly to the other apps concurrently running.
The much better approach would be to reduce your memory requirements, for example by processing the files in small chunks.
Cheers
tadzio
Copy /system/build.prop to the sdcard root and modify 'dalvik.vm.heapsize' to the desired value. Default is 16m. You can safetly to 32m. Use the following commands to move the modified build.prop to the /system directory:
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system
mv /system/build.prop /system/build.prop.bak
cd sdcard
busybox cp -R build.prop /system
chmod 644 /system/build.prop
mount -o remount,ro -t yaffs2 /dev/block/mtdblock4 /system
sync
reboot
Alternatively, flash the CM6 ROM. Cyanogen has integrated Cyanogen Mods which allows you to modify the davik heap within system settings.
Regards,
Nathan
Edit: I have an Evo 4g. The default VM heap and will differ depending on phone model. The commands above were taken from the discussion at this website: http://www.droidforums.net/forum/droid-hacks/18574-editing-build-prop.html
I've used this procedure successfully for modifying my build.props files.
the default heap size is 16m.but the phone (HTC desire) already have 516m memory.
then would u plz tell me what is the need of that amount memory......?
Actually in my application,i am trying to upload (multi part upload) 5mb,10 mb file.For that i am converting files into bytes.Then writing the byte array into a byte array out putstream.But at the time of writing, it will cause to an out of memory exception.would you plz tell what is the cause...?
[size=+1]Introduction[/size]
What is GenTop2?
GenTop2 is a full-fledged Gentoo Linux able to replace the original Motorola Webtop. It is faster, fully-customizable and gives you the power of a complete Linux system on a mobile phone. It is a peek into the future of mobile computing!
Thanks goes to kholk, who did the original GenTop, otherwise I would have long given up.
Why use Gentoo Linux as WebTop?
Programs are fully optimized for the ARMv7a CPU contained in the Atrix.
Thus the whole system is faster and more responsive.
No shackles put around the WebTop by Motorola.
You can install any program (which compiles on ARM).
All software (except X11) is fully up-to-date.
You remember old times with desktop computers having far slower CPUs and less RAM than your phone and you wonder what you can do with this pocket computer.
Why NOT use Gentoo Linux as WebTop?
Gentoo is huge because it must install all development files.
The system and all programs must be compiled on the phone. How crazy is that?
Firefox could not be built. But, there is a smaller replacement.
Why bother using a phone, when you already have a notebook?
Working and Installed Applications
X11 via WebTop or HDMI (with hdmi-hack)
Xfce4 with thunar file manager
midori web browser with Flash player
claws-mail client
audacious
evince (pdf viewer)
ssh daemon
rxvt terminal
aiw Android In-A-Window!
Sound output via Android media system.
All are very light-weight Linux applications perfect for a small system.
Not Working:
webtop-panel (system status bar on top)
non-flash video playback ?
Installable as binary packages:
firefox (renamed to Aurora due to trademark stuff), approx 30 MB.
thunderbird (renamed to Earlybird due to trademark stuff), approx 44 MB.
libreoffice, approx 250 MB.
abiword, pidgin, emacs, texlive,
and many more, drop a note for more wishes here. However KDE is just too large.
[size=+1]Installation Instructions[/size]
Prerequisites:
Motorola Atrix
[size=+2][highlight]BACKUP.[/highlight] This will break your device![/size]
Okay hopefully it won't. A full restore will of course overwrite the webtop.
root privileges.
unlocking is not necessary.
adb and Linux knowledge.
webtop2sd is not supported (!)
CM7 is NOT supported
GenTop2 Space Requirements, Disk Speeds and a Note About WebTop2SD
Gentoo is very large because packages contain all development files. This cannot easily be changed, therefore one must work around the space limitation of the /osh partition in some way.
I did some "disk" performance measurements using bonnie++ (see [1] for full info). Here the through-put results in short: /data (ext3) 20,800 KB/s read and 6,200 KB/s write, /sdcard (fat32) 21,500 KB/s read and 8,000 KB/s write, /sdcard-ext (ext3) 12,300 KB/s read and 4,200 KB/s write, /sdcard/loopback.img (ext3) 16,150 KB/s read and 4,400 KB/s write.
One way to go would be to require webtop2sd, however, GenTop2 does not support webtop2sd because the read/write speed of the internal sdcard is much faster than on the external sdcard. Thus I tried to install as much on the /osh partition as possible and move directories onto other partitions as necessary, leaving symlinks behind. WebTop2SD also requires dpkg for some reason, which Gentoo does not have.
Therefore, it's pretty unavoidable that you do some space management yourself.
I have decided to utilize the /preinstall partition for /var. I'm not fully sure that this partition is unused on every Atrix released, but I guess in most cases it contains only provider specific bloatware that people don't want anyhow. On my Atrix it contained some car racing game, which I find hilarious to play on a mobile phone.
Anyway, the /preinstall partition is 300 MB and perfect for /var if reformatted to support many small files. The /var/db/pkg/ directory contains lots and lots of small files describing the installed packages. See the installation instruction for the mkfs line.
I also decided to require some extra ext3 partition for further program, data and portage files. It is needed anyhow to install further programs, which is what most people want to do. The /data partition would be the obvious choice and for that reason the first GenTop2 put files in /data/osh/. However, /home/ is also on /data by default and it gets pretty annoying when your home directory is full.
The only alternative to /data is either a partition on an external sd-card or a loopback mounted file-partition on /sdcard/, both are not as fast as /data (/cache cannot be used as it must be wipeable). So there really isn't much choice left except for external storage.
The main GenTop2 tarball puts 630 MB in /osh (leaving 145 MB free) and 178 MB in /preinstall (with 150 MB free), which must be mkfs formatted.
The portage GenTop2 tarball puts 1460 MB into /mnt/gentoo/ of which 475 MB are data files from /osh/usr/ and 810 MB are the portage tree.
[size=+1]Steps to install GenTop2:[/size]
There are some complications involved when using faux123's kernel, because it only contains ext4 filesystem modules and explicit mounting of ext3 will fail. The ext4 module will however mount ext3 filesystem without problems.
use adb shell and get root:
Code:
$ su
# cd /osh
# mv etc etcx
# reboot
Reboot. The above will disable the webtop.
Download http://kristallsturm.de/GenTop2/GenTop2-20120509.tar.gz (275MB) and put it onto /sdcard via USB or adb push.
use adb shell to overwrite the existing WebTop:
Code:
(first we delete /osh)
# cd /
# ls bin
bin: No such file or directory
(this tests whether the old webtop is disabled)
# rm -r osh/*
# ls osh
(should be empty)
(next we disable and reformat /preinstall)
# mount -o remount,rw /dev/block/mmcblk0p12 /system
# mv /system/bin/load_pia.sh /system/bin/load_pia.sh.disabled
# umount /preinstall
(depending on your ROM this might fail. ignore this problem if the following format works)
# mke2fs -m 0 -i 2048 -j /dev/block/mmcblk0p17
# mount -t ext3 /dev/block/mmcblk0p17 /preinstall
(for faux kernel: replace ext3 -> ext4 in above line)
(now we unpack the main tarball)
# df
(/osh and /preinstall should be almost empty)
# cd /
# tar xvzf /sdcard/GenTop2-20120509.tar.gz
# sync
(begin extra for faux kernel: we change ext3 -> ext4)
# sed -i s/ext3/ext4/ /osh/ubuntu.sh
(end extra for faux kernel)
# sync
# reboot
Once rebooted you will get an X11 login on the HDMI connection or you can access the phone via ssh.
Account Passwords:
root / atrix
adas / atrix
To make GenTop2 more useful and to compile/install further packages you currently must have an external sd-card (or someone must devise a method to use a loopback device).
I have partitioned my external sdcard using a desktop computer into the following two partitions:
/dev/block/mmcblk1p1 (remainder)
/dev/block/mmcblk1p2 (4.0 GB, formatted ext3)
Advanced: (Actually most of this stuff is advanced.) You can also use the new GenTop to partition the external sd-card. Open a terminal, and use something along the lines of:
Code:
# fdisk /dev/block/mmcblk1
(partition it, see further description of fdisk on the net)
# mkfs.ext3 -m0 /dev/block/mmcblk1p2
The boot-up script /osh/ubuntu.sh will mount /dev/block/mmcblk1p2 to /mnt/gentoo. This place is referenced by /usr/portage, /var/tmp and /preinstall/usr and will enable emerge if you install the second GenTop2-portage-20120509.tar.bz2 tarball.
Download http://kristallsturm.de/GenTop2/GenTop2-20120509-portage.tar.bz2 (124MB) to /sdcard/ using any method.
Use adb shell or a terminal on the desktop
Code:
$ su
# cd /
# tar xvjf /sdcard/GenTop2-20120509-portage.tar.bz2
Note: If you trust your network connection, you can also download and unpack simultaneously (without saving) it using:
Code:
$ su
# cd /
# wget -O - http://kristallsturm.de/GenTop2/GenTop2-20120509-portage.tar.bz2 | tar xvj
[size=+1]Installing further software[/size]
How do I install applications in Gentoo?
- Read http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=1
- Read http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3
I have set up a portage overlay "atrix-overlay" which unmasks many packages and includes some custom patches required for compilation on arm. It is included in the main tarball and automatically synced alongside "emerge --sync". Most updates will now be performed via this overlay.
See https://github.com/gendol/atrix-overlay for details.
Furthermore, for large binary packages like firefox, thunderbird and libreoffice I have set up a binary package repository with the same USE flags as the atrix-overlay. These are built using cross-compilation on my desktop computer.
See http://kristallsturm.de/GenTop2/packages/
To force installation from binary packages use emerge -G <package>. See the list of "Installable as binary packages" above.
[size=+1]Miscellaneous Questions[/size]
Why no thumb instructions?
- I did a speed test of cryptography functions and thumb instructions were approximately 10% slower than usual ARM code.
Where was GenTop2 compiled?
- Most of the system was fully compiled on my own Atrix. Larger binary packages are compiled on my desktop using cross-compiling.
Why is X11 not up-to-date?
- The only xorg driver I could get working is the one on the original Webtop, and that requires an older version of X11.
Why is udevd not running?
- If you look at logcat there are lots of the following messages, some of which are due to udevd. Disabling udevd reduces (but does not eliminate) these messages and probably also some unnecessary background process that draws battery.
NetlinkEvent: NetlinkEvent::FindParam(): Parameter 'UDEV_LOG' not found
NetlinkListener: ignoring non-kernel netlink multicast message
NetlinkListener: ignoring non-kernel netlink multicast message
[size=+1]Reinstalling the old WebTop[/size]
Some people on the forums struggled to reinstall the old webtop for some reason. It shouldn't be that difficult and I created a tarball of the original Webtop WT-1.2.0-133_38. These instructions were not tested by me:
Download http://kristallsturm.de/GenTop2/WT-1.2.0-133_38.tar.gz to /sdcard/ using any method.
Use adb shell or a terminal to disable mounting of webtop:
Code:
$ su
# cd /osh
# mv etc etcx
# reboot
Use adb shell to unpack original tarball into /osh:
Code:
# cd /
# ls bin
bin: No such file or directory
(this tests whether the webtop is disabled)
# rm -r osh/*
# ls osh
(empty)
# cd /
# /sdcard/WT-1.2.0-133_38.tar.gz
# sync
# reboot
[size=+1]Downloads[/size]
http://kristallsturm.de/GenTop2/GenTop2-20120509.tar.gz (275MB main tarball)
http://kristallsturm.de/GenTop2/GenTop2-20120509-filelist.txt (Filelist of tarball for your reference)
http://kristallsturm.de/GenTop2/GenTop2-20120509-portage.tar.bz2 (124MB portage tree for /mnt/gentoo/, see above)
http://kristallsturm.de/GenTop2/GenTop2-20120509-portage-filelist.txt (Filelist of tarball for your reference)
Old Downloads
http://kristallsturm.de/GenTop2/GenTop2-20120428.tar.gz (369MB main tarball)
http://kristallsturm.de/GenTop2/GenTop2-20120428-filelist.txt (Filelist of tarball for your reference)
http://kristallsturm.de/GenTop2/GenTop2-20120428-portage.tar.bz2 (44MB portage tree for /mnt/gentoo/, see above)
http://kristallsturm.de/GenTop2/GenTop2-20120424.tar.gz (364MB main tarball)
http://kristallsturm.de/GenTop2/GenTop2-20120424-filelist.txt (Filelist of tarball for your reference)
http://kristallsturm.de/GenTop2/GenTop2-20120424-portage.tar.bz2 (44MB portage tree for /mnt/gentoo/, see above)
Changelog
From 20120428 to 20120509:
Added atrix-overlay for pulling in updates using layman.
Reorganized /etc/portage/ to symlink into atrix-overlay files.
Removed mplayer from default install.
Added xarchiver, leafpad and some customization for the terminal.
Reorganized directory structure to use /preinstall.
From 20120424 to 20120428:
Readded resolutions to xorg.conf like in original webtop. Nevertheless you can switch using Xfce's settings dialogs.
Installed Flash: copied libflashplayer.so and emerges nss nspr.
Readded lots of the original .desktop files and corresponding icons. These launch Android apps.
[1] http://kristallsturm.de/GenTop2/docs/atrix-bonnie.html
It is a good job. I try this. Thank you.
This is a very agressive aproach. /osh dose have some Moto magic sauce in it. How well can you drive the screnn with a stock X system? Most of the cutesy features from WT I can live w/o, but the "phone"app really is usefull. Seams like this would be worth the effort to figure out.
If I was using a less "pure" setup (spinning up X and the phone app in Motos osh) then bringimng up the desktop in Gentoo, how would that compare to oither the same concept with other distros?
Please post on. I think this is the first time somebidy has run a non /osh X. Would love to see if it really can be done.
exwannabe said:
This is a very agressive aproach. /osh dose have some Moto magic sauce in it. How well can you drive the screnn with a stock X system? Most of the cutesy features from WT I can live w/o, but the "phone"app really is usefull. Seams like this would be worth the effort to figure out.
Click to expand...
Click to collapse
Thanks for pointing that out. Yes, the approach is radical, but not as aggressive as you may think. All the "magic sauce" in /osh lives in /osr/usr/local/ and all of that is retained. The only problem is that some dynamic link libraries are missing, but most of these problems can be fixed.
They actually had to be fixed because the GenTop2 does need to send some magic signals to Moto's PortalApp/DockService to work correctly. This is done using the /usr/local/bin/rmtest tool via the "fbcp" instance of dbus.
Other than /osh/usr/local/, /osh is really just Debian.
With the phone app, you mean the green phone button? I just tested that, it can be added. The phone button is nothing but a .desktop mime file, which calls one of the magic apps /usr/local/bin/androidlauncher. And it popups up in the aiw display.
I even tested the HD Media Center laucher and that too worked without problems. That really should be included in the next GenTop2 tarball.
exwannabe said:
If I was using a less "pure" setup (spinning up X and the phone app in Motos osh) then bringimng up the desktop in Gentoo, how would that compare to oither the same concept with other distros?
Please post on. I think this is the first time somebidy has run a non /osh X. Would love to see if it really can be done.
Click to expand...
Click to collapse
I guess I don't understand what you mean with a non /osh X. GenTop2 does run X11 and you really need to replace the system libaries to get a well-working Gentoo.
Greetings,
Gendol
Great job! Does this work with cm rom's aswell or only with blur based ones? As another fact, we could use distcc or crosscompile distcc to compile most of the stuff, actually even a crosscompile binhost would be doable for several packages. One more thing, we could probably use an .img file on the internal sdcard partition, that would be ext3/4 formatted instead of using the external sdcard (but probably its better and safer to sue the external card, due to the flash wear)
edit: so i tried it on my atrix with nottachtrix rom installed, it starts fine and seems to work rather well, i only saw two to me rather annoying bugs:
1. somehow the X server thinks that my tv (1080p lg) has a virtual size of 1366x768 and will not allow to use the 1920x1080 resolutions that are in the TV's EDID and that the system puts into the xorg.conf file aswell as it shows in the Xorg.0.log
2. the atrix's screen stays on all the time in the "normal mode" and if one uses the mouse on the gentop its moving and functioning on the atrix's screen aswell (ie you can launch apps by accident with the mouse in android)
I do not know if these are issues with nottachtrix or something else, but for me on the "normal webtop" 1080p worked on this same TV.
here the xorg log: http://dl.dropbox.com/u/24268926/Xorg.0.log
Really nice, installing it right now!
Does flash work on Midori?
I don't know about CM7, you'll have to try to replace the Linux system like moto does it.
The X11 screen size defaults to WebTop resolution 1366x768, but you can change that to 1920x1080 by editing /etc/X11/xorg.conf. The first thing to try is to comment out all Modelines and let EDID detection do the work. But for that a monitor must be present, so you need to Zap (Ctrl+Alt+Bckspace) your X, and that brings up the dual input problem.
I also use nottach's ROM. The dual input problem happens when something in motorola's magic communication goes wrong. I have not been able to figure out how in particular moto disables input on the touchscreen. For me it works most of the time. I also have all the Modelines in xorg.conf enabled, because they fit my monitor.
I didnt really focus on Flash, yet. But as it works on the original Webtop, you should just be able to copy the plugin files.
Gendol
Can't get Midori working .. Got network (via ping), but no web browsing
EDIT: Solved by disabling proxy settings inside Midori
i haven't run gentoo in over 10 years but this is tempting!!!!!
Hello! I am a bit newbie in linux and i have 2 questions
1) Could someon please tell me how to install GenTop2-portage-20120424.tar.bz2 tarball?
2) Is there any way to install synaptic so i can install other linux apps?
snik38 said:
Hello! I am a bit newbie in linux and i have 2 questions
1) Could someon please tell me how to install GenTop2-portage-20120424.tar.bz2 tarball?
2) Is there any way to install synaptic so i can install other linux apps?
Click to expand...
Click to collapse
1) use ADB and first post
2) Gentoo Portage - it's command line but very easy
Hmm, anyone using this with webtop over HDMI? I get the login screen, but the webtop touchpad thingie doesn't come up so it's impossible for me to log in.
nalorite said:
Hmm, anyone using this with webtop over HDMI? I get the login screen, but the webtop touchpad thingie doesn't come up so it's impossible for me to log in.
Click to expand...
Click to collapse
you need to use a hd dock, lapdock or a modded powered usb hub with mouse + kb
Vazay said:
1) use ADB and first post
2) Gentoo Portage - it's command line but very easy
Click to expand...
Click to collapse
1) After the reboot i used
adb shell
# tar xvzf /sdcard/GenTop2-portage-20120424.tar.bz2
but it gave me an error, am i using the correct command or i should use something else?
Yes. The touchpad thingy is also an open end. I have no idea why it doesnt come up. The GenTop2 tries to do everything in the same way as the original one, but for some reason that doesnt appear.
I guess the touchpad is some Android program part of DockService or PortalApp, which drive the Webtop switch. But I havent debugged how to activate it.
@snik38
To extract a .tar.bz2 you use tar xvjf ...
Gendol
three items one that caused some grief, but other than that this has lots of cool potential!
I have a stock rom with root.
1. resolution was pretty screwed up. I did try to adjust the resolution, but it was locked into one setting.
2. flash isnt installed on the browser so many websites where disabled.
3. I could not get AIW to start.
I see you answered #1 in a previous post. But I think all three of those items are minimum requirements to replace webtop. BTW great job again! Its seemed much faster than the webtop app.
2. Try to copy the flashplugin from original webtop(not sure if it works with midori)
3. aiw works fine try to reboot the phone
Took me a while to get this all running, but it's great now it is. Have this over Nottachtrix 1.3.1. Everything installed and works fine!
Cheers!
When my phone turns on and gets to the preparing sd, it takes forever. Does this happen to anyone else?
anyone tried to emerge chrome/chromium?
Hello everybody,
I thought that ICS was a little bit slow on my SGS+ so I tried to tweak it.
This is when I came across the option compcache in the settings -> performance menu.
Only I found this option isn't w orking yet in arco's alpha 3 build, or isn't working anymore.
Either way I found out that zram0 is present on the device, so I created a little script with which you can set-up Zram.
Just put it somewhere you can browse to with Terminal Emulator.
Also make sure it's permissions are set to rwx-r-x-r-x.
After you set the permissions right, just execute with: ./zram start
Or if you want to stop the swapping again just give in ./zram stop
This is the code for the script:
#!/system/bin/sh
#
# Zram manager
# koudumrulez{at}gmail.com (PsychoGame)
case "$1" in
start)
echo 3 > /proc/sys/vm/drop_caches
echo 30 > /proc/sys/vm/swappiness
# get the amount of memory in the machine
mem_total_kb=$(grep MemTotal /proc/meminfo | grep -E -o '[[:digit:]]+')
mem_total=$((0,25 * mem_total_kb * 1024))
# initialize the devices
echo $((mem_total)) > /sys/block/zram0/disksize
# Creating swap filesystem
mkswap /dev/block/zram0
# Switch the swap on
swapon /dev/block/zram0
;;
stop)
# Switching off swap
swapoff /dev/block/zram0
;;
*)
echo "Usage: $0 {start|stop}"
esac
exit 0
You can just call the file zram, and then copy it on you're device for example you're SD.
I only used this script on ALPHA3 build. Maybe it works on others as well, but that's at you're own responsibility.
Greetings Psycho Game
Here I'am again.
There's been a little error from my side.
If you put this file on you're SD-Card you can't set the permissions right.
What I did was putting the file in /system/bin, so the full path would be /system/bin/zram.
I did this with ES File Manager, but you're free to use whatever file manager you like.
After this make sure the permissions are set to rwx-r-x-r-x in the file manager, or in the terminal you can do a "chmod 755 /system/bin/zram" without quotes.
The zram is now useable through executing the command: "/system/bin/zram start or stop".
You can also choose to mount the zram automatically with booting.
In this case you have to make a file called userinit.sh in the folder "/data/local/"
This file needs the following content:
#!/system/bin/sh
/system/bin/zram start
I also set the permissions of this file to 755 with "chmod 755 /data/local/userinit.sh" but I'm not sure if this is neccesary. Anyway it works.
Hopefully somebody can use this script as well. If you do, please leave a comment. Also if you have questions feel free to ask. I will keep an eye on this post.
And the question if this will work on Alpha 4, yes it does.
Greetings,
Psycho Game
Hi Psycho,
thanks for your effort.
I also saw that zRam is indeed not working on the latest Alpha 6 (i use the Galxy W / i8150 Build).
I had a look at your script and some other sources and enabled zRam on my deivce for testing purposes.
My conclucsion so far is, that there seems so be some major problem of interference with an other memory management policy.
Independent from the Size and Swapiness configuration - there is something going wrong hier i think
I watched the systems memory stats through proc/meminfo and free. Once the system is out of fresh memory, it begins swapping. zRam swap then getfs filled up quickly. Now the system gets extremely slow, i also had two restarts (likely in cause of some kernel panics from acute memory problems).
Will be difficult to track down the problem, my guessings so far:
- Interference with LMK, as it only indirectly knows about zRam
- Some kind of io block size might have been set to a bad value for the zram device
- CPU-load through compression simply much to high (unlikely, but have not checked it yet)
.. and plenty other possibilites
ATM, its definitely only a huge decrease in performance for me. What was your experience?
From the technical specs, i guess zRam should behave much better, so i really guess theres going something wrong.
Guess i found a possible reason for the bad performance.
I will write more details when i have the time to.
Just tried the above script on CM9 (build 0814) for Galaxy Exhibit 4G (a sister phone of Galaxy W as I understand it). I ran the script in the Terminal. Initially the performance became very bad after a period of time (especially after opened many apps). It almost looked like zRam made it worse once it got used for some storage amount. However, after I changed mem_total_kb from MemTotal to MemFree, and removed 0,15 for mem_total, the horrible slow down seemed to disappeared (even after I opened 5 apps at the same time).
any further refinements of this script?
I try this http://forum.xda-developers.com/showthread.php?t=1821071&highlight=swap and it's work, all is OK, on 481, enabling swap(file) failed.
spidermoon said:
I try this http://forum.xda-developers.com/showthread.php?t=1821071&highlight=swap and it's work, all is OK, on 481, enabling swap(file) failed.
Click to expand...
Click to collapse
And experience is? Any smoother? Faster?
(You used physical Linux swap partition or just as a file inside first fat32 partition?
spidermoon said:
I try this http://forum.xda-developers.com/showthread.php?t=1821071&highlight=swap and it's work, all is OK, on 481, enabling swap(file) failed.
Click to expand...
Click to collapse
How do you check whether it works or not? *I'm noob btw, so don't be too harsh on me.
At my device:
The starting without swapper2, when I type free, the swap is not at zero as the tutorial.
After activating swapper2 *following the tutorial
The total swap file is also not the same as the swap file setting when I type free at terminal emulator.
--edit--
The terminal free swap file status increased 30MB.
So maybe it really works. I'm noob so I don't really knows.
To check swap and memory, i use meminfo by Johannes Zweng on the market, you can view meminfo and swap, very handy.
I disable physical swap with swapper 2, but i let zram active, with 60Mo ram and 60% swapiness. Maybe it's a placebo effect, but the phone seems more responsive when switching apps. of course, there is no miracle, if you play memory hog games like Asphalt 6, when you end the game, there is likely a home restart.
I try 80Mo but this seems to much, you can also play with swapiness, but for me 60% is good, the more the percentage, the more the swapping.
I known It's looks strange to use ram to swap from ram, but zram compress ram, so maybe this let you with more free ram
Since i'm on a stock kernel without init.d support, i use Script Manager with a script and start on boot. I use this script, it's a little different than the one in the thread, i had swapoff command.
#!/system/bin/sh
sysctl -w vm.swappiness=60
swapoff /dev/block/zram0
echo '1' > /sys/block/zram0/reset
echo $((60*1024*1024)) > /sys/block/zram0/disksize
mkswap /dev/block/zram0
swapon /dev/block/zram0