Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d09196d0 authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android (Google) Code Review
Browse files

Merge "Activity Manager now takes care of setting OOM values."

parents a2468719 06787f40
Loading
Loading
Loading
Loading

rootdir/init.lowmem.rc

deleted100644 → 0
+0 −19
Original line number Diff line number Diff line
# Adjustments to the out-of-memory killer, for devices that are
# tight on memory.  These should not be used if not needed, as they
# can result in more paging.

on early-boot

    setprop ro.FOREGROUND_APP_MEM 1536
    setprop ro.VISIBLE_APP_MEM 2048
    setprop ro.PERCEPTIBLE_APP_MEM 2048
    setprop ro.HEAVY_WEIGHT_APP_MEM 2048
    setprop ro.SECONDARY_SERVER_MEM 4096
    setprop ro.BACKUP_APP_MEM 4096
    setprop ro.HOME_APP_MEM 4096
    setprop ro.HIDDEN_APP_MEM 5120
    setprop ro.EMPTY_APP_MEM 6144

on boot

    write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,3072,4096,5120,6144
+8 −45
Original line number Diff line number Diff line
@@ -190,54 +190,17 @@ on boot
# set RLIMIT_NICE to allow priorities from 19 to -20
    setrlimit 13 40 40

# Define the oom_adj values for the classes of processes that can be
# killed by the kernel.  These are used in ActivityManagerService.
    setprop ro.FOREGROUND_APP_ADJ 0
    setprop ro.VISIBLE_APP_ADJ 1
    setprop ro.PERCEPTIBLE_APP_ADJ 2
    setprop ro.HEAVY_WEIGHT_APP_ADJ 3
    setprop ro.SECONDARY_SERVER_ADJ 4
    setprop ro.BACKUP_APP_ADJ 5
    setprop ro.HOME_APP_ADJ 6
    setprop ro.HIDDEN_APP_MIN_ADJ 7
    setprop ro.EMPTY_APP_ADJ 15

# Define the memory thresholds at which the above process classes will
# be killed.  These numbers are in pages (4k).
    # These are currently tuned for tablets with approx 1GB RAM.
    setprop ro.FOREGROUND_APP_MEM 8192
    setprop ro.VISIBLE_APP_MEM 10240
    setprop ro.PERCEPTIBLE_APP_MEM 12288
    setprop ro.HEAVY_WEIGHT_APP_MEM 12288
    setprop ro.SECONDARY_SERVER_MEM 14336
    setprop ro.BACKUP_APP_MEM 14336
    setprop ro.HOME_APP_MEM 14336
    setprop ro.HIDDEN_APP_MEM 16384
    setprop ro.EMPTY_APP_MEM 20480

    # Old values for phones.  Should probably be adjusted up for the next
    # phone version.
    #setprop ro.FOREGROUND_APP_MEM 2048
    #setprop ro.VISIBLE_APP_MEM 3072
    #setprop ro.PERCEPTIBLE_APP_MEM 4096
    #setprop ro.HEAVY_WEIGHT_APP_MEM 4096
    #setprop ro.SECONDARY_SERVER_MEM 6144
    #setprop ro.BACKUP_APP_MEM 6144
    #setprop ro.HOME_APP_MEM 6144
    #setprop ro.HIDDEN_APP_MEM 7168
    #setprop ro.EMPTY_APP_MEM 8192

# Write value must be consistent with the above properties.
# Note that the driver only supports 6 slots, so we have combined some of
# the classes into the same memory level; the associated processes of higher
# classes will still be killed first.
    write /sys/module/lowmemorykiller/parameters/adj 0,1,2,4,7,15

# Memory management.  Basic kernel parameters, and allow the high
# level system server to be able to adjust the kernel OOM driver
# paramters to match how it is managing things.
    write /proc/sys/vm/overcommit_memory 1
    write /proc/sys/vm/min_free_order_shift 4
    write /sys/module/lowmemorykiller/parameters/minfree 8192,10240,12288,14336,16384,20480
    chown root system /sys/module/lowmemorykiller/parameters/adj
    chmod 0664 /sys/module/lowmemorykiller/parameters/adj
    chown root system /sys/module/lowmemorykiller/parameters/minfree
    chmod 0664 /sys/module/lowmemorykiller/parameters/minfree

    # Set init its forked children's oom_adj.
    # Set init and its forked children's oom_adj.
    write /proc/1/oom_adj -16

    # Tweak background writeout