Jump to content


Photo

[CM10.1] Using swap without repartitioning

- - - - -

  • Please log in to reply
5 replies to this topic

#1
kedazo

kedazo

    Newbie

  • Members
  • Pip
  • 1 posts
  • Gender:Male
  • Devices:Huawei G525, ZTE Blade 3
ZTE Blade 3 has a plenty of space on /data partition, so i decided
to not to repartition my SD card, instead i use a file on /data as swap partition.

Sometimes the swap seems to help, at least i have less out-of-memory cases...

So here is the trick.

First you have to make a swapfile (you can do it on your SD card as well),
use adb shell and su to become root (to have access to /data/local)
# dd if=/dev/zero of=/data/local/swapfile bs=1048576 count=400 #400MB
# mkswap /data/local/swapfile

Then you have to write a script which enables the swap during boot,
lets use userinit.sh for the filename, and (adb) push it to /data/local
this script will be called automatically by the CyanogenMod init.d at the boot.
#!/system/bin/sh
L="log -p i -t swap"
SWAPFILE=/data/local/swapfile

$L "Activating SWAP ..."
if [ -f $SWAPFILE ];
then
/system/xbin/swapon $SWAPFILE
$L "SWAP activated."
else
$L "SWAP not activated. ($SWAPFILE not exists)"
fi

Finally lets add an executable bit to the script (adb shell and su again)
(and you can start it manually right now, so no need for reboot)
# chmod 0777 /data/local/userinit.sh
# /data/local/userinit.sh

And now you can check if it it succeed:
# free -m | grep Swap										
Swap:	 409596	 42176	 367420

I tried with this CyanogenMod build, but this trick may works with the other CMs too:
http://www.modaco.co...01-android-422/

  • 0

#2
peetu20

peetu20

    Addict

  • Members
  • PipPipPipPipPip
  • 927 posts
  • Gender:Male
  • Location:Finland
  • Devices:Zte Blade, Zte Blade III
Thanks much, seems to work fine with cm10 :D

  • 0

#3
bamdad

bamdad

    Regular

  • Members
  • PipPip
  • 124 posts
  • Devices:zte blade 3
don't you think this will reduce the lifespan of the built-in flash memory? since it's not (easily) replaceable, i'm worried about wearing it out faster with all the constant read-writes..

  • 0

#4
leripe

leripe

    Regular

  • Members
  • PipPip
  • 132 posts
  • Gender:Male

don't you think this will reduce the lifespan of the built-in flash memory? since it's not (easily) replaceable, i'm worried about wearing it out faster with all the constant read-writes..

Of course it will reduce it more than without it.

  • 0

Current phone:

 

S4 mini lte

 

Blade III

Blade I


#5
shadowprince94

shadowprince94

    Newbie

  • Members
  • Pip
  • 7 posts
  • Gender:Male
  • Location:Budapest
  • Devices:ZTE Blade III

I did it with minor changes, like this:

 

First you have to make a swapfile (you can do it on your SD card as well),
use adb shell and su to become root (to have access to /data/local)
# dd if=/dev/zero of=/cache/swapfile bs=1048576 count=200
# mkswap /cache/swapfile
Then you have to write a script which enables the swap during boot,
lets use userinit.sh for the filename, and (adb) push it to /data/local
this script will be called automatically by the CyanogenMod init.d at the boot.
#!/system/bin/sh
L="log -p i -t swap"
SWAPFILE=/cache/swapfile

$L
"Activating SWAP ..."
if [ -f $SWAPFILE ];
then
/system/xbin/swapon $SWAPFILE
$L
"SWAP activated."
else
$L "SWAP not activated. ($SWAPFILE not exists)"
fi
Finally lets add an executable bit to the script (adb shell and su again)
(and you can start it manually right now, so no need for reboot)
# chmod 0777 /data/local/userinit.sh
# /data/local/userinit.sh

 

And, at the last step I got this: https://drive.google...dit?usp=sharing

Can anyone help pls?


Edited by shadowprince94, 03 November 2013 - 10:48 AM.

  • 0

#6
Krityu

Krityu

    Newbie

  • Members
  • Pip
  • 11 posts
  • Gender:Male
  • Devices:ZTE Blade III
  • Twitter:@Krityu_

Same problem:

sh: userinit.sh: not found

 

or
 

127|root@atlas40:/data/local # sh userinit.sh
sh userinit.sh
: not found[4]:
userinit.sh[13]: syntax error: 'fi' unexpected


  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users