init: set oom_adj early before fork vendor_init
right now vendor_init is forked before we set oom_adj for init which leaves a chance vendor_init could be killed in heavy memory pressure. this CL set the oom_adj before forking everything to ensure all native have correct oom_adj settings. Fixes: 130824864 Test: procrank -o Change-Id: I8af129076c3efa29f7b781459449f8f2dc853c98
This commit is contained in:
parent
d71d30179c
commit
45d8174fe7
2 changed files with 5 additions and 3 deletions
|
|
@ -625,6 +625,11 @@ int SecondStageMain(int argc, char** argv) {
|
|||
InitKernelLogging(argv, InitAborter);
|
||||
LOG(INFO) << "init second stage started!";
|
||||
|
||||
// Set init and its forked children's oom_adj.
|
||||
if (auto result = WriteFile("/proc/1/oom_score_adj", "-1000"); !result) {
|
||||
LOG(ERROR) << "Unable to write -1000 to /proc/1/oom_score_adj: " << result.error();
|
||||
}
|
||||
|
||||
// Enable seccomp if global boot option was passed (otherwise it is enabled in zygote).
|
||||
GlobalSeccomp();
|
||||
|
||||
|
|
|
|||
|
|
@ -13,9 +13,6 @@ import /init.${ro.zygote}.rc
|
|||
|
||||
# Cgroups are mounted right before early-init using list from /etc/cgroups.json
|
||||
on early-init
|
||||
# Set init and its forked children's oom_adj.
|
||||
write /proc/1/oom_score_adj -1000
|
||||
|
||||
# Disable sysrq from keyboard
|
||||
write /proc/sys/kernel/sysrq 0
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue