Android Enthusiasts
Q&A for enthusiasts and power users of the Android operating system
Latest Questions
2
votes
2
answers
3617
views
Disabling Android swap with ADB `swapoff`
I'm using non-rooted phone, how do I disable swap with ADB using `swapoff`? It says ``` swapoff: Needs 1 argument (see "swapoff --help") ``` Here is `swapoff --help` ``` usage: swapoff swapregion Disable swapping on a given swapregion. ``` Where to find swapregion?
I'm using non-rooted phone, how do I disable swap with ADB using
swapoff
?
It says
swapoff: Needs 1 argument (see "swapoff --help")
Here is swapoff --help
usage: swapoff swapregion
Disable swapping on a given swapregion.
Where to find swapregion?
Muhammad Ikhwan Perwira
(213 rep)
Jul 17, 2023, 12:00 AM
• Last activity: Nov 19, 2023, 04:35 AM
1
votes
1
answers
3433
views
How to increase RAM by swapping memory from Internal Phone Storage..?
I have `Micromax Canvas Music A88`. I just want to allocate memory from internal phone storage to RAM. Memory Detail : RAM: 512 MB Internal Memory: 2 GB I want to transfer 500 Mb from internal storage to RAM... Can anyone help me how to transfer...?? **Note: I don't want to swap from micro sd card**
I have
Micromax Canvas Music A88
. I just want to allocate memory from internal phone storage to RAM.
Memory Detail :
RAM: 512 MB
Internal Memory: 2 GB
I want to transfer 500 Mb from internal storage to RAM...
Can anyone help me how to transfer...??
**Note: I don't want to swap from micro sd card**
Hardik Modh
(11 rep)
Jul 15, 2014, 04:37 AM
• Last activity: Oct 5, 2023, 05:03 PM
0
votes
0
answers
172
views
Why does Dalvik not support swap space?
I was asked this question and also explain why it is detrimental to the android system as a whole. I have not found a web page which refers to this specific question about Dalvik and swap space. Any links would be appreciated or an explanation. What I have answered is Swap space is a method of using...
I was asked this question and also explain why it is detrimental to the android system as a whole.
I have not found a web page which refers to this specific question about Dalvik and swap space. Any links would be appreciated or an explanation.
What I have answered is
Swap space is a method of using secondary storage of the device to free up RAM. This would not work on android as it is not guaranteed that a device would have secondary storage causing the application to crash.
It is also slow to read from external storage as Dalvik is a JIT compiler this may lead to the code being compiled at a rate which is effecting the users experience with the app.
> An initial decision of Dalvik was not to support swap space. Explain what swap space is and
why it would be detrimental to the Android system as a whole.
francisRH
(1 rep)
Dec 27, 2021, 02:28 PM
• Last activity: Dec 27, 2021, 04:15 PM
1
votes
0
answers
6907
views
Swap partitions on android?
I just installed [AParted][1] on CyanogenMod 9 (Android 4.0.4,Kernel version 2.6.32.9-FXP) and was trying to partition my SD Card to extend internal memory. Anyway, I found that it can make swap partitions, I'm familiar with the swap partition concept on linux, but does Android (at least my version...
I just installed AParted on CyanogenMod 9 (Android 4.0.4,Kernel version 2.6.32.9-FXP) and was trying to partition my SD Card to extend internal memory.
Anyway, I found that it can make swap partitions, I'm familiar with the swap partition concept on linux, but does Android (at least my version or my kernel) support swap partitions? would it be useful or just a waste of space?
mewais
(113 rep)
Nov 8, 2013, 08:30 AM
• Last activity: Sep 28, 2021, 04:01 PM
1
votes
1
answers
5325
views
Creating Swap memory without rooting
I want to set up swap memory for my Android phone. - How to set up swap memory without rooting the device? - Is there an app for doing so?
I want to set up swap memory for my Android phone.
- How to set up swap memory without rooting the device?
- Is there an app for doing so?
TechGeek
(177 rep)
Feb 12, 2013, 02:45 PM
• Last activity: Aug 28, 2021, 12:46 AM
1
votes
0
answers
61
views
How do I save my Redmi Note 8/4GB from app discards?
I am a power user and I mostly switch a lot between apps, so I don't like discarding. I use a **custom ROM** which is less heavy than **MIUI ROM** yet Still my background apps take a lot of memory that multitasking without discarding is not possible even with 4GB + 2GB zRAM I have. Do you know any w...
I am a power user and I mostly switch a lot between apps, so I don't like discarding.
I use a **custom ROM** which is less heavy than **MIUI ROM** yet Still my background apps take a lot of memory that multitasking without discarding is not possible even with 4GB + 2GB zRAM I have.
Do you know any workaround for this without buying a new phone nor sacrificing apps, knowing that when I run
cpuinfo
in terminal: It doesn't show swp
in features, so I don't think the **swap** will work out of the box with me and using a swap partition in my SD card will make the phone slow also except if there is a way to partition the internal storage or /data
.
Mohammed Mehdi TBER
(71 rep)
Aug 21, 2021, 11:47 PM
• Last activity: Aug 22, 2021, 02:41 AM
1
votes
0
answers
1825
views
How do I enable zRAM with the highest priority in Android persistently?
I want to know how to use the `/dev/block/zram0` in full power, but I can't apply the command `swapon -p 32767 /dev/block/zram0` as it returns this: > swapon: Couldn't swapon '/dev/block/zram0': Device or resource busy So how do I modify the actual zram's line I have in `fstab.qcom`to change priorit...
I want to know how to use the
/dev/block/zram0
in full power, but I can't apply the command swapon -p 32767 /dev/block/zram0
as it returns this:
> swapon: Couldn't swapon '/dev/block/zram0': Device or resource busy
So how do I modify the actual zram's line I have in fstab.qcom
to change priority?
> /dev/block/zram0 none
> swap defaults
> zramsize=3221223823,max_comp_streams=8,zram_backingdev_size=512M
Mohammed Mehdi TBER
(71 rep)
Aug 21, 2021, 05:51 PM
1
votes
0
answers
575
views
How do I make my android ROM auto-mounts and activate a swap partition in my sd card?
I have created a swap partition via **GNOME Disks** in my SD Card and I found that my Android system doesn't detect it until I used **Aparted** to activate it but still It is not persistent after a reboot and I don't know how to recognize the path of my swap partition according to Android But I knew...
I have created a swap partition via **GNOME Disks** in my SD Card and I found that my Android system doesn't detect it until I used **Aparted** to activate it but still It is not persistent after a reboot and I don't know how to recognize the path of my swap partition according to Android But I knew the path of my SD card via **Aparted**:
/dev/block/mmcblk1
so I don't know how to modify fstab.qcom
for permanently using the swap partition in my SD card.
Mohammed Mehdi TBER
(71 rep)
Aug 20, 2021, 11:02 PM
3
votes
0
answers
1510
views
How to investigate/solve Google Play Store high memory usage (-> high CPU -> battery drain)?
Ever since my (not-rooted stock Android) Nokia 6.1 phone was upgraded to Android 10, last January, I have a performance issue with it: A couple of times per day it becomes near or completely unusable, often permanently until a hard restart. Also this causes high battery usage. However, using a batte...
Ever since my (not-rooted stock Android) Nokia 6.1 phone was upgraded to Android 10, last January, I have a performance issue with it: A couple of times per day it becomes near or completely unusable, often permanently until a hard restart. Also this causes high battery usage.
However, using a battery analysis app didn't turn up any specific suspect.
Recently I discovered
adb shell
, and when the phone starts behaving badly,
- top
showed me that the CPU-hogging process at such moments is kswapd
:
Tasks: 681 total, 1 running, 680 sleeping, 0 stopped, 0 zombie
Mem: 2.6G total, 2.4G used, 198M free, 11M buffers
Swap: 1.0G total, 1.0G used, 112K free, 311M cached
800%cpu 38%user 10%nice 52%sys 684%idle 10%iow 2%irq 4%sirq 0%host
PID USER PR NI VIRT RES SHR S[%CPU] %MEM TIME+ ARGS
1739 system 18 -2 7.9G 144M 47M S 12.3 5.2 13:37.24 system_server
148 root 20 0 0 0 0 S 8.6 0.0 3:50.15 [kswapd0]
564 logd 30 10 168M 10M 0.9M S 7.3 0.3 1:11.69 logd
28119 shell 20 0 35M 3.1M 1.7M R 5.0 0.1 0:00.45 top
705 root 20 0 5.1G 44M 24M S 5.0 1.6 0:54.88 zygote64
- top -s 6
(sorts by memory use, RES
) showed me that the main memory-using process at such moments is com.android.vending
(= Google Play Store).
Tasks: 690 total, 1 running, 689 sleeping, 0 stopped, 0 zombie
Mem: 2.6G total, 2.4G used, 180M free, 17M buffers
Swap: 1.0G total, 0.9G used, 2.1M free, 412M cached
800%cpu 9%user 3%nice 13%sys 772%idle 1%iow 2%irq 1%sirq 0%host
PID USER PR NI VIRT [RES] SHR S %CPU %MEM TIME+ ARGS
5296 u0_a105 20 0 2.1G 472M 24M S 0.0 17.2 1:18.80 com.android.vending
1739 system 18 -2 7.9G 150M 53M S 3.0 5.4 13:12.22 system_server
2233 u0_a111 20 0 6.1G 108M 56M S 0.6 3.9 2:03.84 com.android.systemui
7120 u0_a161 20 0 7.7G 93M 45M S 0.6 3.4 8:22.83 com.google.android.youtube
2931 u0_a90 20 0 5.9G 83M 36M S 0.0 3.0 3:05.21 com.google.android.gms.persistent
26244 u0_a90 20 0 5.2G 74M 39M S 0.0 2.7 0:02.38 com.google.android.gms.ui
\[Side note. That seems to explain why battery analysis didn't help: Presumably kswapd
CPU usage is ascribed to general kernel processing, not to this specific app.\]
And that app is really the cause: Stopping that Google Play Store process (e.g., using am force-stop com.android.vending
) quickly brings performance back to normal levels.
As a workaround, I tried to disable automatic updates in Google Play Store, and that seems to have improved things a little, but the issue is definitely still there.
So now, as another workaround, a couple of times per day I hard-stop that application, which helps to prevent it usually.
----
My vague **question** is: How to I get further with this issue?
- Is this a known issue that has already been reported somewhere? Is the cause known? (E.g., is this triggered by the Google Play Store app detecting updates?)
- Can I report it to Nokia in some bug tracker? Can I report it to Google somewhere?
- What kind of additional information/dumps/logs would help to investigate this further?
- Are there any other/better workarounds? (Disable some feature, go back to an older version of Google Play Store, clear some cache or force something to be regenerated, disable swap, whatever...)
- Is there some way to automate the workaround I currently have? (I'm already using [Automate](https://play.google.com/store/apps/details?id=com.llamalab.automate) for some other things, but any automated solution apparently requires my device to be rooted.)
(Note that my device is not rooted, and I would like to try to keep it that way. But I will consider rooting it, if there some kind of solution or workaround that requires that.
If it helps, phone model is TA-1043, currently running build number 00WW_4_10C_SP04.)
MarnixKlooster ReinstateMonica
(81 rep)
May 15, 2020, 06:28 PM
• Last activity: Sep 22, 2020, 05:14 PM
5
votes
1
answers
7714
views
How to know if a custom ROM uses existing swap partition
Recently I switched my custom ROM installed on my HTC Desire to a 4.1.2 based ROM (PARANOIDANDROID based). The ROM works fine but sometimes the device has serious lag of several seconds. I assume that this may be caused by a SWAP partition I created once on my SD-card but that was never used by my p...
Recently I switched my custom ROM installed on my HTC Desire to a 4.1.2 based ROM (PARANOIDANDROID based).
The ROM works fine but sometimes the device has serious lag of several seconds. I assume that this may be caused by a SWAP partition I created once on my SD-card but that was never used by my previous ROMs.
How can I find out if the SWAP partition is used or not?
Robert
(22652 rep)
Dec 13, 2012, 01:53 PM
• Last activity: Jul 2, 2018, 12:11 PM
0
votes
1
answers
1970
views
Add swap support to Android
I own Samsung Galaxy GT-i9082, Trust me, its really very slow due to its low RAM i.e 1GB only. I have Installed Custom ROM of Lineage OS From XDA but it still doesn't supports swapping which is the only way to increase my SMARTphone's RAM. How can I add Swap support to my Kernel? I am really a new b...
I own Samsung Galaxy GT-i9082, Trust me, its really very slow due to its low RAM i.e 1GB only. I have Installed Custom ROM of Lineage OS From XDA but it still doesn't supports swapping which is the only way to increase my SMARTphone's RAM. How can I add Swap support to my Kernel? I am really a new born baby in android and don't know much about it.
Ch Muhammad Sohaib
(15 rep)
Jun 21, 2018, 04:23 PM
• Last activity: Jun 25, 2018, 07:00 PM
17
votes
3
answers
13116
views
LowMemoryKiller is killing loads of system apps and forcing user space death, but "free" says there's plenty of memory
For some time I've had a problem, where crucial system processes were being force killed by LowmemoryKiller/OOM. Following help, I added a 500 MB swap file working natively a couple of days ago to try and reduce memory pressure and lowmemkiller triggers ( thread with details here ). The output of `f...
For some time I've had a problem, where crucial system processes were being force killed by LowmemoryKiller/OOM.
Following help, I added a 500 MB swap file working natively a couple of days ago to try and reduce memory pressure and lowmemkiller triggers (thread with details here). The output of
free
showed an extra 500 MB of space, which I figured was plenty to prevent whatever low memory problem was forcibly killing system processes.
But it hasn't helped. Out of the blue I suddenly again got a fairly vicious "everything got killed by LowMemKiller" just now, with about 6 core dump files created in just 100 seconds, followed by a user space crash, and the kernel (dmesg) log suggest that low memory issues were the only reported problem, even though this time a large amount of swap was available and recognised by the system (see free
below).
Here's the relevant part of dmesg >dmesg.txt
shortly after init
restarted userspace. In the first part of the log, long periods of several seconds pass where nothing new happens; when userspace is killed off during the 100 seconds at 2105-2208 there is nothing beforehand and no hint of cause.
*Phone turned on*
[001992.334927,0] : Report pwrkey press event
[001992.386743,0] mdss_dsi_on+: ctrl=eaec8010 ndx=0
[001992.424178,0] mdss_dsi_on-:
[001992.424193,0] mdss_dsi_panel_on+: ctrl=eaec8010 ndx=0
[001992.428789,0] : Report pwrkey release event
[001993.730749,0] synaptics_dsx_sensor_state: state change SUSPEND -> ACTIVE
[001993.731405,0] : mdss_dsi_panel_on-. Pwr_mode(0x0A) = 0x9c
[001993.831117,0] qcom,leds-qpnp leds-qpnp-eb62f600: backlight on
*Nothing in log for 40 seconds. Then there are several bursts of low memory killing, separated by brief gaps of about 5-20 seconds*
[002033.125104,1] lowmemorykiller: Killing 'system:ui' (8151), adj 1000, to free 40656kB on behalf of 'kswapd0' (81) because cache 122600kB is below limit 122880kB for oom_score_adj 1000. Free memory is 3200kB above reserved
[002034.172404,2] lowmemorykiller: Killing 'changelogviewer' (7238), adj 1000, to free 32652kB on behalf of 'kswapd0' (81) because cache 121376kB is below limit 122880kB for oom_score_adj 1000. Free memory is 6776kB above reserved
[002035.895963,0] : Report pwrkey press event
[002035.307927,1] lowmemorykiller: Killing 'droid.deskclock' (28714), adj 1000, to free 31756kB on behalf of 'kswapd0' (81) because cache 120252kB is below limit 122880kB for oom_score_adj 1000. Free memory is 5532kB above reserved
[002036.387002,0] : Report pwrkey release event
[002036.478425,0] lowmemorykiller: Killing 'com.ebay.mobile' (26933), adj 1000, to free 29016kB on behalf of 'kswapd0' (81) because cache 120268kB is below limit 122880kB for oom_score_adj 1000. Free memory is 3864kB above reserved
[002037.923711,2] lowmemorykiller: Killing 'omm.timeservice' (6682), adj 1000, to free 24544kB on behalf of 'kswapd0' (81) because cache 112140kB is below limit 122880kB for oom_score_adj 1000. Free memory is 3072kB above reserved
[002037.070531,1] lowmemorykiller: Killing 'ndroid.settings' (5632), adj 1000, to free 24344kB on behalf of 'kswapd0' (81) because cache 108888kB is below limit 122880kB for oom_score_adj 1000. Free memory is 5484kB above reserved
[002037.617332,1] lowmemorykiller: Killing 'd.process.media' (5610), adj 1000, to free 23552kB on behalf of 'kswapd0' (81) because cache 109164kB is below limit 122880kB for oom_score_adj 1000. Free memory is 3964kB above reserved
[002038.335908,0] lowmemorykiller: Killing 'enmod.lockclock' (28743), adj 1000, to free 21712kB on behalf of 'kswapd0' (81) because cache 107296kB is below limit 122880kB for oom_score_adj 1000. Free memory is 4616kB above reserved
[002039.245833,1] lowmemorykiller: Killing 'ainfire.supersu' (8025), adj 764, to free 32380kB on behalf of 'kswapd0' (81) because cache 98160kB is below limit 98304kB for oom_score_adj 529. Free memory is 7484kB above reserved
[002040.109486,0] lowmemorykiller: Killing 'd.process.acore' (8429), adj 647, to free 34448kB on behalf of 'kswapd0' (81) because cache 97952kB is below limit 98304kB for oom_score_adj 529. Free memory is 8732kB above reserved
[002043.386164,2] lowmemorykiller: Killing 'putmethod.latin' (14570), adj 764, to free 20732kB on behalf of 'kswapd0' (81) because cache 97896kB is below limit 98304kB for oom_score_adj 529. Free memory is 3564kB above reserved
[002047.012564,0] tapan_codec_chargepump_vdd_event: event = 1
[002048.999115,2] lowmemorykiller: Killing 'd.process.media' (8782), adj 647, to free 33804kB on behalf of 'kswapd0' (81) because cache 95364kB is below limit 98304kB for oom_score_adj 529. Free memory is 4556kB above reserved
[002049.385765,0] lowmemorykiller: Killing 'com.android.mms' (370), adj 529, to free 42768kB on behalf of 'kswapd0' (81) because cache 96588kB is below limit 98304kB for oom_score_adj 529. Free memory is 5264kB above reserved
[002051.397263,0] init: waitpid returned pid 30519, status = 00000000
[002052.710665,1] tapan_codec_chargepump_vdd_event: event = 8
[002054.259864,2] lowmemorykiller: Killing 'd.process.media' (8882), adj 647, to free 33620kB on behalf of 'kswapd0' (81) because cache 93904kB is below limit 98304kB for oom_score_adj 529. Free memory is 7752kB above reserved
[002055.100549,3] lowmemorykiller: Killing 'ndroid.settings' (8939), adj 764, to free 34900kB on behalf of 'kswapd0' (81) because cache 96324kB is below limit 98304kB for oom_score_adj 529. Free memory is 3920kB above reserved
[002056.176783,2] lowmemorykiller: Killing 'd.process.acore' (8930), adj 764, to free 35656kB on behalf of 'kswapd0' (81) because cache 89744kB is below limit 98304kB for oom_score_adj 529. Free memory is 3688kB above reserved
[002064.446038,2] lowmemorykiller: Killing 'd.process.media' (9044), adj 764, to free 33580kB on behalf of 'kswapd0' (81) because cache 90032kB is below limit 98304kB for oom_score_adj 529. Free memory is 14876kB above reserved
[002083.199303,1] lowmemorykiller: Killing 'enmod.lockclock' (8974), adj 647, to free 31236kB on behalf of 'kswapd0' (81) because cache 98132kB is below limit 98304kB for oom_score_adj 529. Free memory is 3308kB above reserved
[002084.892508,1] lowmemorykiller: Killing 'ndroid.settings' (9068), adj 529, to free 53876kB on behalf of 'kswapd0' (81) because cache 95092kB is below limit 98304kB for oom_score_adj 529. Free memory is 5380kB above reserved
[002105.187792,0] lowmemorykiller: Killing 'enmod.trebuchet' (20303), adj 352, to free 33356kB on behalf of 'kswapd0' (81) because cache 80972kB is below limit 86016kB for oom_score_adj 176. Free memory is 3004kB above reserved
[002106.510875,0] lowmemorykiller: Killing 'com.android.mms' (8906), adj 470, to free 39524kB on behalf of 'kswapd0' (81) because cache 80488kB is below limit 86016kB for oom_score_adj 176. Free memory is 16500kB above reserved
[002111.395568,1] lowmemorykiller: Killing 'd.process.media' (9718), adj 529, to free 33576kB on behalf of 'kswapd0' (81) because cache 70448kB is below limit 73728kB for oom_score_adj 117. Free memory is 3484kB above reserved
[002112.755785,1] lowmemorykiller: Killing 'ndroid.settings' (9766), adj 529, to free 34872kB on behalf of 'kswapd0' (81) because cache 69160kB is below limit 73728kB for oom_score_adj 117. Free memory is 3792kB above reserved
[002112.892462,1] lowmemorykiller: Killing 'com.android.mms' (9736), adj 470, to free 35356kB on behalf of 'kswapd0' (81) because cache 68408kB is below limit 73728kB for oom_score_adj 117. Free memory is 7628kB above reserved
[002112.906543,3] binder: release 9736:9755 transaction 7689487 out, still active
[002112.386885,0] lowmemorykiller: Killing 'd.process.acore' (9757), adj 647, to free 34860kB on behalf of 'kswapd0' (81) because cache 69340kB is below limit 73728kB for oom_score_adj 117. Free memory is 4092kB above reserved
[002113.952913,0] lowmemorykiller: Killing 'enmod.lockclock' (9808), adj 647, to free 31048kB on behalf of 'kswapd0' (81) because cache 73224kB is below limit 73728kB for oom_score_adj 117. Free memory is 3852kB above reserved
[002114.465873,3] lowmemorykiller: Killing 'd.process.media' (9872), adj 529, to free 33528kB on behalf of 'kswapd0' (81) because cache 67308kB is below limit 73728kB for oom_score_adj 117. Free memory is 3540kB above reserved
[002115.944547,3] lowmemorykiller: Killing 'd.process.acore' (9920), adj 647, to free 34788kB on behalf of 'kswapd0' (81) because cache 62112kB is below limit 73728kB for oom_score_adj 117. Free memory is 3876kB above reserved
[002115.463421,3] lowmemorykiller: Killing 'ndroid.settings' (9912), adj 647, to free 34804kB on behalf of 'kswapd0' (81) because cache 61372kB is below limit 61440kB for oom_score_adj 58. Free memory is 3444kB above reserved
[002116.625036,3] lowmemorykiller: Killing 'enmod.lockclock' (9947), adj 764, to free 31128kB on behalf of 'kswapd0' (81) because cache 60288kB is below limit 61440kB for oom_score_adj 58. Free memory is 3540kB above reserved
[002116.660223,3] lowmemorykiller: Killing 'd.process.acore' (9960), adj 764, to free 34912kB on behalf of 'kswapd0' (81) because cache 59824kB is below limit 61440kB for oom_score_adj 58. Free memory is 3560kB above reserved
[002131.486032,2] lowmemorykiller: Killing 'd.process.acore' (10031), adj 764, to free 35472kB on behalf of 'kswapd0' (81) because cache 67868kB is below limit 73728kB for oom_score_adj 117. Free memory is 21432kB above reserved
[002132.304917,0] lowmemorykiller: Killing 'd.process.media' (10018), adj 1000, to free 33728kB on behalf of 'Compositor' (8575) because cache 100976kB is below limit 122880kB for oom_score_adj 1000. Free memory is 3492kB above reserved
[002132.374198,1] lowmemorykiller: Killing 'ndroid.settings' (10049), adj 764, to free 34792kB on behalf of 'kswapd0' (81) because cache 64912kB is below limit 73728kB for oom_score_adj 117. Free memory is 3280kB above reserved
[002132.435346,1] lowmemorykiller: Killing 'enmod.lockclock' (10067), adj 647, to free 30996kB on behalf of 'Compositor' (8575) because cache 97520kB is below limit 98304kB for oom_score_adj 529. Free memory is 3364kB above reserved
[002139.202616,3] lowmemorykiller: Killing 'com.android.mms' (9890), adj 470, to free 38940kB on behalf of 'kswapd0' (81) because cache 77428kB is below limit 86016kB for oom_score_adj 176. Free memory is 3352kB above reserved
[002144.987619,0] lowmemorykiller: Killing 'd.process.media' (10354), adj 529, to free 33492kB on behalf of 'kswapd0' (81) because cache 70876kB is below limit 73728kB for oom_score_adj 117. Free memory is 3952kB above reserved
[002145.868772,0] lowmemorykiller: Killing 'ndroid.settings' (10410), adj 647, to free 34748kB on behalf of 'kswapd0' (81) because cache 70496kB is below limit 73728kB for oom_score_adj 117. Free memory is 9208kB above reserved
[002145.500683,0] lowmemorykiller: Killing 'enmod.lockclock' (10439), adj 647, to free 30964kB on behalf of 'kswapd0' (81) because cache 69148kB is below limit 73728kB for oom_score_adj 117. Free memory is 4848kB above reserved
[002146.860274,2] lowmemorykiller: Killing 'd.process.acore' (10393), adj 764, to free 35316kB on behalf of 'kswapd0' (81) because cache 66996kB is below limit 73728kB for oom_score_adj 117. Free memory is 8484kB above reserved
[002146.883536,0] binder: undelivered transaction 7710205
[002147.021644,1] lowmemorykiller: Killing 'd.process.acore' (10507), adj 764, to free 35104kB on behalf of 'kswapd0' (81) because cache 66948kB is below limit 73728kB for oom_score_adj 117. Free memory is 8344kB above reserved
[002147.496709,0] lowmemorykiller: Killing 'd.process.media' (10495), adj 764, to free 33760kB on behalf of 'kswapd0' (81) because cache 65184kB is below limit 73728kB for oom_score_adj 117. Free memory is 8972kB above reserved
[002166.712750,0] lowmemorykiller: Killing 'ndroid.settings' (10529), adj 764, to free 34780kB on behalf of 'kswapd0' (81) because cache 74940kB is below limit 86016kB for oom_score_adj 176. Free memory is 4768kB above reserved
[002166.041116,1] lowmemorykiller: Killing 'enmod.lockclock' (10545), adj 647, to free 30984kB on behalf of 'kswapd0' (81) because cache 76512kB is below limit 86016kB for oom_score_adj 176. Free memory is 4996kB above reserved
[002183.893105,1] lowmemorykiller: Killing 'com.ebay.mobile' (10668), adj 529, to free 46620kB on behalf of 'kswapd0' (81) because cache 71236kB is below limit 73728kB for oom_score_adj 117. Free memory is 4588kB above reserved
[002183.175603,1] lowmemorykiller: Killing 'com.android.mms' (10372), adj 294, to free 39168kB on behalf of 'kswapd0' (81) because cache 69516kB is below limit 73728kB for oom_score_adj 117. Free memory is 4568kB above reserved
[002184.262462,1] lowmemorykiller: Killing 'putmethod.latin' (20205), adj 117, to free 31552kB on behalf of 'kswapd0' (81) because cache 64740kB is below limit 73728kB for oom_score_adj 117. Free memory is 4528kB above reserved
[002185.901421,1] lowmemorykiller: Killing 'pal.androidterm' (20591), adj 117, to free 22780kB on behalf of 'kswapd0' (81) because cache 62628kB is below limit 73728kB for oom_score_adj 117. Free memory is 4548kB above reserved
[002185.077441,0] init: waitpid returned pid 26289, status = 0000fc00
[002185.611288,2] lowmemorykiller: Killing 'android.smspush' (20927), adj 58, to free 16176kB on behalf of 'kswapd0' (81) because cache 56236kB is below limit 61440kB for oom_score_adj 58. Free memory is 3392kB above reserved
[002186.955956,0] init: waitpid returned pid 26285, status = 00000001
[002186.006426,1] init: waitpid returned pid 26256, status = 00008100
[002186.431086,0] lowmemorykiller: Killing 'mozilla.firefox' (6712), adj 0, to free 354160kB on behalf of 'kswapd0' (81) because cache 46540kB is below limit 49152kB for oom_score_adj 0. Free memory is 5192kB above reserved
[002186.606429,1] init: waitpid returned pid 19765, status = 00000000
[002191.881505,2] lowmemorykiller: Killing 'd.process.media' (10858), adj 1000, to free 33140kB on behalf of 'kswapd0' (81) because cache 87004kB is below limit 98304kB for oom_score_adj 529. Free memory is 3960kB above reserved
[002191.291965,1] lowmemorykiller: Killing 'd.process.acore' (10918), adj 764, to free 35228kB on behalf of 'kswapd0' (81) because cache 81776kB is below limit 86016kB for oom_score_adj 176. Free memory is 3832kB above reserved
[002191.591134,1] lowmemorykiller: Killing 'ndroid.settings' (10928), adj 647, to free 34460kB on behalf of 'kswapd0' (81) because cache 77724kB is below limit 86016kB for oom_score_adj 176. Free memory is 4280kB above reserved
[002192.697565,2] lowmemorykiller: Killing 'enmod.lockclock' (10957), adj 529, to free 30720kB on behalf of 'kswapd0' (81) because cache 76880kB is below limit 86016kB for oom_score_adj 176. Free memory is 3604kB above reserved
[002192.739096,2] lowmemorykiller: Killing 'com.android.mms' (10883), adj 470, to free 38292kB on behalf of 'kswapd0' (81) because cache 74704kB is below limit 86016kB for oom_score_adj 176. Free memory is 7352kB above reserved
[002193.555477,2] lowmemorykiller: Killing 'enmod.trebuchet' (10844), adj 0, to free 58452kB on behalf of 'kswapd0' (81) because cache 48516kB is below limit 49152kB for oom_score_adj 0. Free memory is 3116kB above reserved
[002194.171773,1] binder: undelivered transaction 7731151
[002194.355847,0] lowmemorykiller: Killing 'd.process.acore' (11091), adj 529, to free 34780kB on behalf of 'kswapd0' (81) because cache 47368kB is below limit 49152kB for oom_score_adj 0. Free memory is 8656kB above reserved
[002194.554944,0] lowmemorykiller: Killing 'd.process.media' (11118), adj 529, to free 33392kB on behalf of 'enmod.trebuchet' (11110) because cache 81508kB is below limit 86016kB for oom_score_adj 176. Free memory is 6088kB above reserved
[002194.670126,0] lowmemorykiller: Killing 'com.android.mms' (11151), adj 294, to free 34528kB on behalf of 'kswapd0' (81) because cache 47332kB is below limit 49152kB for oom_score_adj 0. Free memory is 3564kB above reserved
[002194.680946,2] binder: release 11151:11172 transaction 7731784 out, still active
[002194.681060,2] binder: undelivered transaction 7731944
[002195.770478,1] lowmemorykiller: Killing 're-initialized>' (11177), adj 529, to free 26236kB on behalf of 're-initialized>' (11186) because cache 80372kB is below limit 86016kB for oom_score_adj 176. Free memory is 3968kB above reserved
[002195.828751,0] lowmemorykiller: Killing 'enmod.trebuchet' (11110), adj 0, to free 44916kB on behalf of 'kswapd0' (81) because cache 46796kB is below limit 49152kB for oom_score_adj 0. Free memory is 3280kB above reserved
[002195.996821,2] lowmemorykiller: Killing 'd.process.acore' (11206), adj 529, to free 28148kB on behalf of 'kswapd0' (81) because cache 46216kB is below limit 49152kB for oom_score_adj 0. Free memory is 3744kB above reserved
[002195.006525,3] binder: undelivered transaction 7732259
[002195.111464,2] lowmemorykiller: Killing 'ndroid.settings' (11186), adj 529, to free 34436kB on behalf of 'd.process.acore' (11236) because cache 76684kB is below limit 86016kB for oom_score_adj 176. Free memory is 3412kB above reserved
[002195.189925,1] lowmemorykiller: Killing 're-initialized>' (11236), adj 529, to free 27684kB on behalf of 're-initialized>' (11250) because cache 75264kB is below limit 86016kB for oom_score_adj 176. Free memory is 3748kB above reserved
[002195.582460,1] lowmemorykiller: Killing 'enmod.lockclock' (11250), adj 647, to free 30716kB on behalf of 'kswapd0' (81) because cache 42068kB is below limit 49152kB for oom_score_adj 0. Free memory is 3936kB above reserved
[002195.680729,3] lowmemorykiller: Killing 'd.process.acore' (11265), adj 529, to free 33160kB on behalf of 'kswapd0' (81) because cache 41232kB is below limit 49152kB for oom_score_adj 0. Free memory is 3568kB above reserved
[002196.766706,0] lowmemorykiller: Killing 'enmod.trebuchet' (11217), adj 0, to free 43560kB on behalf of 'kswapd0' (81) because cache 40444kB is below limit 49152kB for oom_score_adj 0. Free memory is 3448kB above reserved
[002201.374233,0] : Report pwrkey press event
[002201.518183,0] : Report pwrkey release event
[002202.657554,1] mdss_dsi_panel_off+: ctrl=eaec8010 ndx=0
[002202.657986,0] synaptics_dsx_sensor_state: state change ACTIVE -> SUSPEND
[002203.897141,0] mdss_dsi_panel_off-:
[002203.897156,0] mdss_dsi_off+: ctrl=eaec8010 ndx=0
[002203.936876,0] mdss_dsi_off-:
*At this point anything that hasn't already failed, now fails. Userspace gets killed and restarted*
[002203.037750,0] : Core dump to |/system/bin/coredump Binder_4 19920 1417523206 pipe failed
[002203.281135,0] binder: undelivered transaction 7733258
[002203.281314,0] binder: undelivered transaction 7733265
[002203.281444,0] binder: undelivered transaction 7733271
[002203.281597,0] binder: undelivered transaction 7733366
[002203.281681,0] binder: undelivered transaction 7733378
[002203.282023,0] binder: undelivered transaction 7733372
[002203.282108,0] binder: undelivered transaction 7733373
[002203.282258,0] binder: undelivered transaction 7733374
[002203.282340,0] binder: undelivered transaction 7733375
[002203.282488,0] binder: undelivered transaction 7733376
[002204.093925,0] : Report pwrkey press event
[002204.306457,0] : Report pwrkey release event
[002207.955756,0] : Core dump to |/system/bin/coredump system_server 1142 1417523210 pipe failed
[002207.052286,0] mdss_dsi_on+: ctrl=eaec8010 ndx=0
[002207.075781,1] alarm_release: clear alarm, pending 0
[002207.075791,1] alarm_release: clear alarm, pending 0
[002207.075799,1] alarm_release: clear alarm, pending 0
[002207.089757,0] mdss_dsi_on-:
[002207.089772,0] mdss_dsi_panel_on+: ctrl=eaec8010 ndx=0
[002207.104989,1] init: computing context for service '/system/bin/bootanimation'
[002207.106139,1] init: starting 'bootanim'
[002207.136155,1] : Core dump to |/system/bin/coredump Binder_7 1387 1417523210 pipe failed
[002207.147220,1] binder: undelivered death notification, 60d6b368
[002207.147232,1] binder: undelivered death notification, 60d6b780
[002207.147241,1] binder: undelivered death notification, 5cdca680
[002207.147249,1] binder: undelivered death notification, 5bf36ec0
[002207.147261,1] binder: undelivered death notification, 5cdcb4a0
[002207.147272,1] binder: undelivered death notification, 5cdd1880
[002207.147281,1] binder: undelivered death notification, 5cdcb460
[002207.185322,1] init: waitpid returned pid 385, status = 00000009
[002207.185340,1] init: process 'debuggerd', pid 385 exited
[002207.185355,1] init: process 'debuggerd' killing any children in process group
[002207.185940,1] init: computing context for service '/system/bin/debuggerd'
[002207.185963,2] : Core dump to |/system/bin/coredump Binder_2 1400 1417523210 pipe failed
[002207.186211,1] init: starting 'debuggerd'
[002207.186764,2] : Core dump to |/system/bin/coredump Binder_4 1413 1417523210 pipe failed
[002207.194796,2] binder: undelivered death notification, 5cdcf108
[002207.194807,2] binder: undelivered death notification, 60b5faa8
[002207.194816,2] binder: undelivered death notification, 60b5fec0
[002207.194824,2] binder: undelivered death notification, 5cdca680
[002207.194832,2] binder: undelivered death notification, 601f2830
[002207.194840,2] binder: undelivered death notification, 60def500
[002207.194849,2] binder: undelivered death notification, 5cdd1488
[002207.194857,2] binder: undelivered death notification, 60def1f0
[002207.200117,2] binder: undelivered death notification, 5cdce0d8
[002207.200129,2] binder: undelivered death notification, 60c6b0c8
[002207.200137,2] binder: undelivered death notification, 60c6b4e0
[002207.200146,2] binder: undelivered death notification, 5cdca670
[002207.200154,2] binder: undelivered death notification, 5cdd1940
[002207.200163,2] binder: undelivered death notification, 5d84f710
[002207.200171,2] binder: undelivered death notification, 5cdd1430
[002207.200179,2] binder: undelivered death notification, 5cdd1f90
[002207.276277,1] init: waitpid returned pid 388, status = 00000009
[002207.276294,1] init: process 'zygote', pid 388 exited
[002207.285604,0] init: process 'zygote' killing any children in process group
[002207.285863,0] init: service 'media' is being killed
[002207.287087,0] init: service 'netd' is being killed
[002207.287441,0] init: computing context for service '/system/bin/app_process'
[002207.287638,0] init: starting 'zygote'
[002207.289856,0] init: waitpid returned pid 383, status = 00000009
[002207.289874,0] init: process 'netd', pid 383 exited
[002207.289888,0] init: process 'netd' killing any children in process group
[002207.290323,0] init: computing context for service '/system/bin/netd'
[002207.290529,0] init: starting 'netd'
[002207.297300,0] init: waitpid returned pid 391, status = 00000009
[002207.297316,0] init: process 'media', pid 391 exited
[002207.297331,0] init: process 'media' killing any children in process group
[002207.297373,2] init: Created socket '/dev/socket/mdns' with mode '660', user '0', group '1000'
[002207.297610,0] init: computing context for service '/system/bin/mediaserver'
[002207.297768,2] init: Created socket '/dev/socket/dnsproxyd' with mode '660', user '0', group '3003'
[002207.297778,0] init: starting 'media'
[002207.298187,2] init: Created socket '/dev/socket/netd' with mode '660', user '0', group '1000'
[002207.298939,2] init: Created socket '/dev/socket/zygote' with mode '660', user '0', group '1000'
[002207.315254,0] : Report pwrkey press event
[002207.386012,0] synaptics_dsx_sensor_state: state change SUSPEND -> ACTIVE
[002207.386197,0] : mdss_dsi_panel_on-. Pwr_mode(0x0A) = 0x9c
[002207.446161,0] init: waitpid returned pid 1373, status = 00000009
[002208.865272,0] : Report pwrkey release event
[002210.508025,0] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
[002213.793599,0] : Report pwrkey press event
[002213.970096,0] : Report pwrkey release event
[002213.447327,0] : Core dump to |/system/bin/coredump zygote 11352 1417523217 pipe failed
[002213.508195,0] init: waitpid returned pid 11352, status = 0000000b
[002213.508377,0] init: process 'zygote', pid 11352 exited
[002213.508475,0] init: process 'zygote' killing any children in process group
[002213.508759,0] init: service 'media' is being killed
[002213.512948,0] init: service 'netd' is being killed
[002213.513683,0] init: waitpid returned pid 11355, status = 00000009
[002213.513805,0] init: process 'media', pid 11355 exited
[002213.513981,0] init: process 'media' killing any children in process group
[002213.514315,0] init: computing context for service '/system/bin/app_process'
[002213.514729,0] init: starting 'zygote'
[002213.515310,0] init: computing context for service '/system/bin/mediaserver'
[002213.516306,1] init: Created socket '/dev/socket/zygote' with mode '660', user '0', group '1000'
[002213.516644,0] init: starting 'media'
[002213.520811,0] init: waitpid returned pid 11353, status = 00000009
[002213.520998,0] init: process 'netd', pid 11353 exited
[002213.521240,0] init: process 'netd' killing any children in process group
[002213.521753,0] init: computing context for service '/system/bin/netd'
[002213.522248,0] init: starting 'netd'
[002213.526276,1] init: Created socket '/dev/socket/mdns' with mode '660', user '0', group '1000'
[002213.526874,1] init: Created socket '/dev/socket/dnsproxyd' with mode '660', user '0', group '3003'
[002213.527403,1] init: Created socket '/dev/socket/netd' with mode '660', user '0', group '1000'
However swap
was active and it's not clear what's happening. Output from free
immediately after userspace is restored:
total used free shared buffers
Mem: 903272 879320 23952 0 1844
-/+ buffers: 877476 25796
Swap: 687060 19024 668036
No idea what's going on. Exotic guesses FWIW: (1) Swap is available and enabled but for some reason wasn't used in the event, when memory got low; (2) some process suddenly decided it needed about 1GB of RAM and to run in foreground, causing failed attempts to swap crucial but lower prioritised system processes; (3) Unpredictable dramatic memory leak.
I don't know where to go from here.
The phone runs rooted CyanogenMod 11 M6 and has 1GB ram, and the apps are pretty standard - firefox, whatsapp, nothing unusual, no strange "tweaking", no strange modding apps.
How can I resolve this issue?
**UPDATE** I realised that I could find the relevant core dumps. /data/tombstones
contains 6 core dumps that were all created during the 100 second period that lowmemorykiller bursts were occurring in dmesg
. The core dump files mostly show segmentation faults (SIGSEGV) but the owning process is different in each dump:
2014-12-02 12:27:33 name: Thread-20 (lbesec.loader) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr b3baed71
2014-12-02 12:27:11 name: zygote (zygote) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 5dd8ce64
2014-12-02 12:27:05 name: zygote (zygote) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 5dd86e64
2014-12-02 12:26:57 name: zygote (zygote) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 5dc03e64
2014-12-02 12:26:47 name: system_server (system_server) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadf00c
2014-12-02 12:26:46 name: Binder_4 (com.android.systemui) signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr cfc08b9a
Past core dumps in the same folder were just as diverse - thread owners included "gallery" for example. Some showed SIGABRT instead of SIGSEGV. Beyond here probably needs developer competencies. What can I do to track down the cause?
Stilez
(586 rep)
Dec 2, 2014, 06:44 PM
• Last activity: Nov 30, 2017, 12:28 AM
1
votes
0
answers
133
views
Increase swap space for RAM
I have Micromax canvas 2.2 with android 4.2.2 & kernel version 3.4.5. I have already rooted my phone. Now, to increase swap space I partitioned sd card using mini partition. Then tried to link it using Link2sd app. But it didn't work. Everytime I try to mount that partition phone restarts but the ef...
I have Micromax canvas 2.2 with android 4.2.2 & kernel version 3.4.5. I have already rooted my phone. Now, to increase swap space I partitioned sd card using mini partition. Then tried to link it using Link2sd app. But it didn't work. Everytime I try to mount that partition phone restarts but the effect is gone after restarting. Means nothing actually happens.
Please help.
Vibhav
(29 rep)
Jul 6, 2016, 07:57 AM
1
votes
1
answers
6500
views
Is It Possible To Completely Swap Storages On Kitkat 4.4.2?
I'm using a rooted Samsung SM-G313HZ Galaxy V device with Android Kitkat 4.4.2 OS. Is it possible to completely swap storages on my device so that every single application and game will read their data on extSdCard by default like jelly bean does? In simple words, **/storage/emulated/0 is /storage/e...
I'm using a rooted Samsung SM-G313HZ Galaxy V device with Android Kitkat 4.4.2 OS. Is it possible to completely swap storages on my device so that every single application and game will read their data on extSdCard by default like jelly bean does? In simple words, **/storage/emulated/0 is /storage/extSdCard** and **/storage/extSdCard is /storage/emulated/0** like on the image i attached.

iWiNGMUSiC
(13 rep)
Oct 23, 2014, 06:03 PM
• Last activity: Jul 5, 2016, 01:29 AM
9
votes
2
answers
16304
views
How to find the pathname of the swap partition on SD card?
As [this][1] warns, you should not enable swap on the wrong partition or you can destroy your phone: > OK before we go any further! previous phones had a partition layout where mmcblck0 was the SDcard (external) our phone uses mmcblck1 for the external sd. This is important because if you use an app...
As this warns, you should not enable swap on the wrong partition or you can destroy your phone:
> OK before we go any further! previous phones had a partition layout where mmcblck0 was the SDcard (external) our phone uses mmcblck1 for the external sd. This is important because if you use an app it may be preset to use mmcblck0 as swap partition.using this setting will cause you to use your sbl2 or sbl3 as swap partition.this will brick your phone and unbrick guide will be useles.
So the swap partition might be
/dev/block/mmcblk0p3
if I have 3 partitions (fat32, sdext, swap) on my SD card, or /dev/block/mmcblk0p2
if I have 2 partitions (fat43 and swap) or /dev/block/mmcblk1p?
if you have a different phone, etc. and the wrong choice can brick your phone.
How do you find out *which* partition is which? It should be the only partition on any drive of the phone with the swap
filesystem.
- fdisk -l
does this on Ubuntu , but outputs nothing in Android
- blkid
does not show the swap partition
- cat /proc/partitions
lists a lot of partitions, but doesn't indicate which is the swap
- cat /proc/swaps
only lists swaps that are *already* being used
- cat /proc/mtd
only says dev: size erasesize name
and nothing else
- ls /dev/block/vold
lists some partitions as 179:64 179:65 179:66
, but doesn't indicate what they are?
- 4ext recovery will show it in the table of partitions (swap swap 129 MiB
), but doesn't say the dev name
- ...
Even if there's no command line tool to print it directly, surely there's a way to deduce it from some other information??
endolith
(3041 rep)
Sep 14, 2013, 01:38 PM
• Last activity: Apr 16, 2016, 01:16 PM
0
votes
0
answers
8569
views
Swap to Increase RAM but kernel issue
I have Micromax Canvas Doodle A111 phone with Android v4.1.2. My phone has 512 MB RAM by default. So whenever I try installing some new apps my phone becomes really slow so I decided to increase RAM by rooting. However when I used swapper app to increase RAM, it shows kernel support required. I don'...
I have Micromax Canvas Doodle A111 phone with Android v4.1.2.
My phone has 512 MB RAM by default.
So whenever I try installing some new apps my phone becomes really slow so I decided to increase RAM by rooting.
However when I used swapper app to increase RAM, it shows kernel support required.
I don't know how to enable swapping feature for my device.
Please give me some advice.
Abhilash
(101 rep)
Feb 10, 2015, 01:31 PM
• Last activity: Jan 24, 2016, 11:17 AM
3
votes
1
answers
876
views
Does Android swap out memory used by foreground services?
Looking at an Android KitKat device made by LG, I see that an app called `Software Update` is ***always*** running as a foreground service (100). That service occupies a significant amount of memory. From what I can tell, that app is just for OTA updates, which is an exceptionally rare event (has ne...
Looking at an Android KitKat device made by LG, I see that an app called
Software Update
is ***always*** running as a foreground service (100). That service occupies a significant amount of memory.
From what I can tell, that app is just for OTA updates, which is an exceptionally rare event (has never happened so far!).
In order to free up some working memory, I was thinking about preventing the app from starting on bootup (by disabling its Broadcast Receiver), and then just running it manually once in a while to check for updates.
But before I do that, I want to ask if it matters at all? For apps that are always running a foreground service, will Android simply swap them out of memory like a background app? Or is the memory they use blocked off completely at all times, thereby making my plan worthwhile?
Amazon Dies In Darkness
(4862 rep)
Dec 14, 2015, 06:27 AM
• Last activity: Dec 14, 2015, 05:56 PM
5
votes
1
answers
4779
views
"kswapd0" is taking up some of my device's CPU time even though I don't have any swap. What's going on?
Using Ozcan ROM 6.3 on my Samsung Galaxy S4, I'm observing **kswapd0** process making CPU laggy. The same thing happened on another TW KK ROM - Omega. After researching on it for weeks, I realized that it's the process that does the SWAP job - transferring RAM contents to storage when memory is low....
Using Ozcan ROM 6.3 on my Samsung Galaxy S4, I'm observing **kswapd0** process making CPU laggy. The same thing happened on another TW KK ROM - Omega. After researching on it for weeks, I realized that it's the process that does the SWAP job - transferring RAM contents to storage when memory is low.
***Presently, I don't want to use SWAP, so the following are the workarounds that I tried to disable SWAP:***
- Tried Apps like **Swapper2, Reset Swap** to delete swapfile. The process
vanishes for few seconds but it looks like the swapfile again gets
created (checked by using command, free).
- Used the command
swapoff -a
(to Stop swapping on all swap devices)
but it gives me an **error -** swapoff: /etc/fstab: No such file or directory
.
**So, my Queries are as follows:**
- Why and how does SWAP gets enabled automatically? Is the kernel or
ROM responsible for it?
- When actually could the SWAP partition be created when I didn't do
it manually? On flashing the ROM?
- What I'm doing wrong in the swapoff
comand? After reading about the
same error, I think it's related to the location of the swapfile.
So, how can I know the location of the swapfile? Any suggestions
on disabling the SWAP permanently or making kswapd0 use less CPU
if the lag is not directly related to SWAP?
(Originally posted on XDA )
Baahubali
(51 rep)
Jan 5, 2015, 03:47 PM
• Last activity: Dec 6, 2015, 05:50 AM
1
votes
0
answers
152
views
Firefox in cache slowing down phone
I am running Cyanogenmod on my rather old Motorola Droid 4, and it is pretty slow by now. I something quite strange lately. From what I read on the internet Android seems to handle memory quite differently than Windows or a regular Linux would. From what I understand it keeps apps that I closed or p...
I am running Cyanogenmod on my rather old Motorola Droid 4, and it is pretty slow by now. I something quite strange lately. From what I read on the internet Android seems to handle memory quite differently than Windows or a regular Linux would. From what I understand it keeps apps that I closed or put into the background in the memory so they start up faster. This can be observed when going to Settings->Apps->Active->Apps in Cache. Apps in the cache should not be really running and should get cleared out as soon as active apps require the storage. But when I have Firefox in cache this doesn't seem to work. Firefox uses quite a lot of memory (top tells me it's using around 800mb, while Android still reports some 150-300mb, my phone has 1GB RAM total) and while it is in cache the whole phone slows to a crawl. Top tells me, that my CPU is hardly used, so it looks just like heavy swapping.
If I kill Firefox my phone instantly speeds up.
I checked using busybox free that I don't have swapping enabled.
Does anyone know the reason behind that or even a way to fix that issue?
Dakkaron
(341 rep)
Sep 30, 2015, 05:23 PM
• Last activity: Oct 1, 2015, 12:33 PM
4
votes
2
answers
24997
views
Creating and enabling an internal storage swap partition on rooted Android Kitkat
**System:** Rooted Android 4.4 phone (actual rom: CM 11 Milestone 6) with 1GB ram, plenty of internal storage, but no sdcard slot. My phone's partition scheme is unmodified CyanogenMod 11. **Problem:** lowmemorykiller/OOM handler on my phone keeps killing vital system processes such as the lockscree...
**System:** Rooted Android 4.4 phone (actual rom: CM 11 Milestone 6) with 1GB ram, plenty of internal storage, but no sdcard slot. My phone's partition scheme is unmodified CyanogenMod 11.
**Problem:** lowmemorykiller/OOM handler on my phone keeps killing vital system processes such as the lockscreen, or incallui, or acore, causing at best long freezes, and more often soft and hard system lockups. I'm probably running apps that push RAM beyond system minimum, and it's making a suboptimal choice of background process to kill. I looked into fine-tuning lowmemkiller but got nowhere.
As ram and not CPU is the issue, I want to try enabling internal storage based swap instead of zRAM as a workaround, which the phone should handle. But I can't find clear instructions how to do so. Every instructional page I found is either desktop not Android specific, external (SDcard) storage specific ("partition using USB+windows"), assumes you want file not partition based swap, or suggests a Google Play app to use. None explain step by step how to actually do it.
Assuming I've read the warnings and know the risks, and want to go ahead anyway, how do I do it? I really just want to get a list of the example console commands for using partition-based swap. I assume it goes something like this:
1. Resize existing partition(s) or subpartition(s) to create spare space for a dedicated fixed-size swap partition.
2. Create or define a new partition in the free space, and ensure it's formatted as swap, or the OS will format or use it as swap on boot.
3. Edit some other system files to ensure swap will be mounted and enabled appropriately on boot, so the OS can recognise and use it. (fstab, or something else?)
4. Disable or deprioritise zRAM, and edit swappiness to about 20-30.
5. Reboot, cross fingers, and hope I did it right.
**My current *nix experience level:** I know Linux uses partitions and subpartitions, that new partitions and partition changes probably need me to manually edit fstab or other files, and manual edits may also be needed to ensure partitions will be mounted/enabled/used at boot. I'm haven't used the actual commands or changed the actual files so I don't know what to expect. I'm comfortable with console, but this is a bit of a new area for me.
How do I do this, step by step, and what are the commands I'd use if they aren't obvious. I can figure the rest from that.
Stilez
(586 rep)
Nov 27, 2014, 03:50 PM
• Last activity: Aug 1, 2015, 02:59 PM
Showing page 1 of 20 total questions