@cryptotaxi247 / netdata-1 / commits / 70c77df10

allow users to configure netdata oom score

Costa Tsaousis (ktsaou) committed Jan 29, 2017 at 18:39 UTC 70c77df10296745bd874b1fdff7aa21e49662cb2
3 files changed +6 -4
src/daemon.c
+2 -2
@@ -189,7 +189,7 @@ int sched_setscheduler_idle(void) {
189 #endif
190 }
191
192 -int become_daemon(int dont_fork, const char *user)
192 +int become_daemon(int dont_fork, const char *user, int oom_score)
193 {
194 if(!dont_fork) {
195 int i = fork();
@@ -239,7 +239,7 @@ int become_daemon(int dont_fork, const char *user)
239 umask(0007);
240
241 // adjust my Out-Of-Memory score
242 - oom_score_adj(1000);
242 + oom_score_adj(oom_score);
243
244 // never become a problem
245 if(sched_setscheduler_idle() != 0) {
src/daemon.h
+1 -1
@@ -8,7 +8,7 @@ extern void sig_handler_reload_health(int signo);
8
9 extern int become_user(const char *username, int pid_fd);
10
11 -extern int become_daemon(int dont_fork, const char *user);
11 +extern int become_daemon(int dont_fork, const char *user, int oom_score);
12
13 extern void netdata_cleanup_and_exit(int i);
14
src/main.c
+3 -1
@@ -338,6 +338,7 @@ int main(int argc, char **argv)
338 int i, check_config = 0;
339 int config_loaded = 0;
340 int dont_fork = 0;
341 + int oom_score = 1000;
342 size_t wanted_stacksize = 0, stacksize = 0;
343 pthread_attr_t attr;
344
@@ -616,6 +617,7 @@ int main(int argc, char **argv)
617 // --------------------------------------------------------------------
618
619 rrd_memory_mode = rrd_memory_mode_id(config_get("global", "memory mode", rrd_memory_mode_name(rrd_memory_mode)));
620 + oom_score = (int)config_get_number("global", "OOM score", oom_score);
621
622 // --------------------------------------------------------------------
623
@@ -755,7 +757,7 @@ int main(int argc, char **argv)
757 #endif /* NETDATA_INTERNAL_CHECKS */
758
759 // fork, switch user, create pid file, set process priority
758 - if(become_daemon(dont_fork, user) == -1)
760 + if(become_daemon(dont_fork, user, oom_score) == -1)
761 fatal("Cannot daemonize myself.");
762
763 info("netdata started on pid %d.", getpid());