Related
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.
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...?
Thread closed.
Thread closed.
Yank555 said:
Hi,
REMEMBER
FIRST OF ALL, do a Nandroid backup, as well as a backup of your sd-card content !
You're doing this at your very own risk, I'm not to be held responsible if something goes wrong
Now that said, let's get going
In case somebody wants to check it out, here is the swap activation script I wrote (attached) as well as explanations on how to make it all work :
1) Partition your sd-card (Minitool Partition Wizard, 4ext, CWM...)
2) Boot your system with the partitionned sd-card
3) If necessary customize the 99swap script (attached to this post) and then put it onto your sd-card's root folder, you'll need it while executing the commands in step 4.
4) Open a terminal and type the following
NB: Change "mkswap /dev/block/mmcblk0p3" accordingly to point to the swap partition you've created in step 1.
5) Reboot your phone, start a terminal again and type free, you'll need to see something different than 0 in your swap line, look at the attached print-screen
Swappiness will be set to 50 by the script, which is a rather conservative swap use, made sense to me since SD-swap is slower than ram, better not to use it too agressively. Feel free to experiment with the swappiness variable in the script (values between 0 and 100, 0 meaning "try not to swap", 100 meaning "try to swap all the time")
If you want to try and have a question, just let me know !
JP.
PS: You can find the thread for hard swap for the htc Sensation / XE here.
Click to expand...
Click to collapse
Hi JP,
This is a gem of a post! Thanks alot for the script and the detailed breakdown. Before I get into it though, I must warn you that I am more of a beginner with no coding/scripting experience (I don't know how to use adb or anything)...
Here's what I'm trying to do: I'm trying to activate hard-swap on my hd2 (currently) running the ParanoidAndroid by Xylograph. I've created 3 partitions on my 16gb class 6 sd card: first, fat32 (32k cluster), next, 1GB ext2 (default), 500MB swap.
Procedure:
1. I extracted the script and copied it directly to system/etc/init.d folder of the Rom (I looked at the terminal commands you posted and the first few lines looked like copying the file from the sd root to the init.d folder (it was just a guess though), so I figured might as well put it into the rom before I flash it)
2. Flashed the rom
3. To activate it, I typed the following into the terminal:
su
mount -o remount,rw /system
mkswap /dev/block/mmcblk0p3
mount -o remount,ro /system
exit
after the mkswap command, I did get an activation notification that a certain amount was assigned to swap. But my celebrations were cut short after I rebooted and used the free command to check. The entire swap row still read 0.
I was wondering if you can point me in the right direction... thanks!
Also, is there a way to create a cwm flashable version?
bullcrapr said:
Hi JP,
This is a gem of a post! Thanks alot for the script and the detailed breakdown. Before I get into it though, I must warn you that I am more of a beginner with no coding/scripting experience (I don't know how to use adb or anything)...
Here's what I'm trying to do: I'm trying to activate hard-swap on my hd2 (currently) running the ParanoidAndroid by Xylograph. I've created 3 partitions on my 16gb class 6 sd card: first, fat32 (32k cluster), next, 1GB ext2 (default), 500MB swap.
Procedure:
1. I extracted the script and copied it directly to system/etc/init.d folder of the Rom (I looked at the terminal commands you posted and the first few lines looked like copying the file from the sd root to the init.d folder (it was just a guess though), so I figured might as well put it into the rom before I flash it)
2. Flashed the rom
3. To activate it, I typed the following into the terminal:
su
mount -o remount,rw /system
mkswap /dev/block/mmcblk0p3
mount -o remount,ro /system
exit
after the mkswap command, I did get an activation notification that a certain amount was assigned to swap. But my celebrations were cut short after I rebooted and used the free command to check. The entire swap row still read 0.
I was wondering if you can point me in the right direction... thanks!
Also, is there a way to create a cwm flashable version?
Click to expand...
Click to collapse
Thanx
In fact you understood correctly that is was about copying the file to init.d.
By the way, these commands do the following :
mount -o remount,rw /system - Mount system partition in read-write
mount -o remount,ro /system - Mount system partition in read-only
So to format the swap partition "mkswap /dev/block/mmcblk0p3" there was no need for it, but it didn't harm in any way, so you're fine there
I guess what is missing is the "chmod 755 /system/etc/init.d/99swap" command which will set the correct file access to the script so it can get executed at boot.
You might do the following in a terminal :
su
mount -o remount,rw /system
chmod 755 /system/etc/init.d/99swap
mount -o remount,ro /system
exit
It should be fine then.
Alternatively you could set the rights with your file explorer (in root explorer mode), they must be "rwxr-xr-x" (which is Read-Write-Execute, Read-Execute, Read-Execute), most file-manager will allow you to do that as well.
I've been working on the script variant for htc Sensation, it is more advanced, dynamic so it can find the swap partition by itself.
I'll make a CWM flashable as soon as I get to it that will handle everything except partitioning the SD card, obviously, for both devices.
As soon as I'm done I'll post the HD2 version here as well (very little change, between both devices, just the access path to the sd-card partitons to change (=1 line in the script).
JP.
Edit ------------------------------------------------
I just reread your post, if in fact you put it into the ROM zipfile, then file access should be correct !?
Could you post the following file (if it exists) :
/data/swap.0.log ?
JP.
Yank555 said:
Thanx
In fact you understood correctly that is was about copying the file to init.d.
By the way, these commands do the following :
mount -o remount,rw /system - Mount system partition in read-write
mount -o remount,ro /system - Mount system partition in read-only
So to format the swap partition "mkswap /dev/block/mmcblk0p3" there was no need for it, but it didn't harm in any way, so you're fine there
I guess what is missing is the "chmod 755 /system/etc/init.d/99swap" command which will set the correct file access to the script so it can get executed at boot.
You might do the following in a terminal :
su
mount -o remount,rw /system
chmod 755 /system/etc/init.d/99swap
mount -o remount,ro /system
exit
It should be fine then.
Alternatively you could set the rights with your file explorer (in root explorer mode), they must be "rwxr-xr-x" (which is Read-Write-Execute, Read-Execute, Read-Execute), most file-manager will allow you to do that as well.
I've been working on the script variant for htc Sensation, it is more advanced, dynamic so it can find the swap partition by itself.
I'll make a CWM flashable as soon as I get to it that will handle everything except partitioning the SD card, obviously, for both devices.
As soon as I'm done I'll post the HD2 version here as well (very little change, between both devices, just the access path to the sd-card partitons to change (=1 line in the script).
JP.
Edit ------------------------------------------------
I just reread your post, if in fact you put it into the ROM zipfile, then file access should be correct !?
Could you post the following file (if it exists) :
/data/swap.0.log ?
JP.
Click to expand...
Click to collapse
Hi JP
You are incredibly helpful and I appreciate it!
I finally got some time off and tried out what you mentioned... but to no avail. I applied the necessary permissions through the terminal (chmod 755) as well as through the root browser, but it was still the same. After that I even retried the terminal commands, and included the "chown 0:2000...", but that didn't work either...
... and then I saw your post update...
About that, i just typed it into the terminal, and I got "not found".
Was that what I was supposed to do?
bullcrapr said:
Hi JP
You are incredibly helpful and I appreciate it!
I finally got some time off and tried out what you mentioned... but to no avail. I applied the necessary permissions through the terminal (chmod 755) as well as through the root browser, but it was still the same. After that I even retried the terminal commands, and included the "chown 0:2000...", but that didn't work either...
... and then I saw your post update...
About that, i just typed it into the terminal, and I got "not found".
Was that what I was supposed to do?
Click to expand...
Click to collapse
Hi,
You're welcome
The file '/data/swap.0.log' is a text-file containing info on the execution of the script...
If it's not there, then the script didn't run at all...
I should have a little time later today, will try to make the CWM flashable solution for you, should be a no fuss solution, as long as the sd-card has a swap partition
How did you partition the card ? CWM ?
JP.
Sent from my Android Revolution HD 6.6.5 XE / faux kernel 007b3 powered htc Sensation XE using xda premium
I created a 256Gb partition...
Click to expand...
Click to collapse
man thats a helluva sd card ya have there! hehe.
samsamuel said:
man thats a helluva sd card ya have there! hehe.
Click to expand...
Click to collapse
Haha I noticed that too :') I want one of those now
Nigeldg said:
Haha I noticed that too :') I want one of those now
Click to expand...
Click to collapse
Thanx for pointing that out Mb of course, but in a few years that might be possible
My first hdd had 60Mb, and that's not soooo long ago
JP.
Sent from my Android Revolution HD 6.6.5 XE / faux kernel 007b3 powered htc Sensation XE using xda premium
heh, my first was a 20mb HDD mounted on a pcb card and plugged into an ISA slot, took up the full length of the PC, weighed LOADS, could have beaten burglars to death with it.
bullcrapr said:
Hi JP
You are incredibly helpful and I appreciate it!
I finally got some time off and tried out what you mentioned... but to no avail. I applied the necessary permissions through the terminal (chmod 755) as well as through the root browser, but it was still the same. After that I even retried the terminal commands, and included the "chown 0:2000...", but that didn't work either...
... and then I saw your post update...
About that, i just typed it into the terminal, and I got "not found".
Was that what I was supposed to do?
Click to expand...
Click to collapse
+1 with this (also on Paranoid Rom 1.1a) but I think that it's something with the ROM coz on earlier build v1 this method worked verry good I hope that Yank will find a solution coz it reallly helps wit our 576 ram
samsamuel said:
heh, my first was a 20mb HDD mounted on a pcb card and plugged into an ISA slot, took up the full length of the PC, weighed LOADS, could have beaten burglars to death with it.
Click to expand...
Click to collapse
Mine was huge at the time, was on of the first to have such a big one, even partitioned it into 3 since it was just too big And it was an external device, the size of a pizza-box (it was en Atari Megafile 60, I still have it !!).
triggaz said:
+1 with this (also on Paranoid Rom 1.1a) but I think that it's something with the ROM coz on earlier build v1 this method worked verry good I hope that Yank will find a solution coz it reallly helps wit our 576 ram
Click to expand...
Click to collapse
I'm working on the CWM flashable right now, should be done within 1-2 hours at most
Yank555 said:
Hi,
You're welcome
The file '/data/swap.0.log' is a text-file containing info on the execution of the script...
If it's not there, then the script didn't run at all...
I should have a little time later today, will try to make the CWM flashable solution for you, should be a no fuss solution, as long as the sd-card has a swap partition
How did you partition the card ? CWM ?
JP.
Sent from my Android Revolution HD 6.6.5 XE / faux kernel 007b3 powered htc Sensation XE using xda premium
Click to expand...
Click to collapse
Hi JP, once you told me it was the address to the file, i just navigated there using my explorer and lo and behold!, there it was (attached). If you must know, in my earlier post, the idiot in me just typed it in the terminal and the terminal replied not found.
I made my partition using freeware called Minitool partition wizard. Is 500mb too big for swap in your opinion? I was thinking of compensating for zram, and hence the size... thanks for your speedy responses...
edit...
and hey! whadya know? in the meantime, this place is coming alive!!
bullcrapr said:
Hi JP, once you told me it was the address to the file, i just navigated there using my explorer and lo and behold!, there it was (attached). If you must know, in my earlier post, the idiot in me just typed it in the terminal and the terminal replied not found.
I made my partition using freeware called Minitool partition wizard. Is 500mb too big for swap in your opinion? I was thinking of compensating for zram, and hence the size... thanks for your speedy responses...
edit...
and hey! whadya know? in the meantime, this place is coming alive!!
Click to expand...
Click to collapse
Hmm ... strange, the content of the file looks like a logcat ?! Not what I was expecting to see
Give me a little hour, and I think I should be done with the flashable hard-swap and we'll go from there
Minitool is excellent, but did you pay attention to only create "primary" partition ? If it is a logical partition it won't work...
Can you insert your SD card into your card reader, start Minitool an post a print screen of it ?
JP.
EDIT :
About size ... I believe 256Mb is enough, even read somewhere t shouldn't be more than 256, but I think there was no specific reason given.
Yank555 said:
Hmm ... strange, the content of the file looks like a logcat ?! Not what I was expecting to see
Give me a little hour, and I think I should be done with the flashable hard-swap and we'll go from there
Minitool is excellent, but did you pay attention to only create "primary" partition ? If it is a logical partition it won't work...
Can you insert your SD card into your card reader, start Minitool an post a print screen of it ?
JP.
EDIT :
About size ... I believe 256Mb is enough, even read somewhere t shouldn't be more than 256, but I think there was no specific reason given.
Click to expand...
Click to collapse
Here we go...
Minitool image attached... I typically pay attention to the partition type and made sure both of them were primary
About the logcat, I suspect you're right... I was trying to do one from my pc for the first time using adb and tried the only few commands I know (mkswap...), I think that's what you saw then...
Incidentally, do you feel if I reduce the swap size, the script has a better chance at surviving the boot?
bullcrapr said:
Here we go...
Minitool image attached... I typically pay attention to the partition type and made sure both of them were primary
About the logcat, I suspect you're right... I was trying to do one from my pc for the first time using adb and tried the only few commands I know (mkswap...), I think that's what you saw then...
Incidentally, do you feel if I reduce the swap size, the script has a better chance at surviving the boot?
Click to expand...
Click to collapse
Don't bother, I will test 500Mb and let you know if that is the issue
JP.
I have 512mb partition and it worked without problems as I mentioned earlier so I think that opposite to the "size does matter" in this case it doesn't plus I used it with zram from marc1706.
triggaz said:
I have 512mb partition and it worked without problems as I mentioned earlier so I think that opposite to the "size does matter" in this case it doesn't plus I used it with zram from marc1706.
Click to expand...
Click to collapse
Hi triggaz, are you using the built in zram on Para1.1a? Or have you applied a script from elsewhere? I enabled the built-in zram, but get a "not found" reply when i try zram_stats in the terminal. Can you tell me how you got zram working? thanks...
bullcrapr said:
Hi triggaz, are you using the built in zram on Para1.1a? Or have you applied a script from elsewhere? I enabled the built-in zram, but get a "not found" reply when i try zram_stats in the terminal. Can you tell me how you got zram working? thanks...
Click to expand...
Click to collapse
https://www.dropbox.com/s/xr3z102gxiw2f62/marc1706_zram_100MB.zip
all credits to Dorimanx for ZRAM mod and mark1706 for modifications
I flashed this and then used the compcashe options in Paranoid (set to 26%)
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?