def make_self_oom_target_linux(): path = '/proc/%d/oom_score_adj' % os.getpid() if os.path.exists(path): open(path, 'w').write('1000') else: path = '/proc/%d/oomadj' % os.getpid() if os.path.exists(path): open(path, 'w').write('15') # OOM likes nice processes logger.debug('new nice value %d', os.nice(19)) # OOM prefers non-privileged processes try: uid = General.getrealuid() if uid > 0: logger.debug('dropping privileges of pid %d to uid %d', os.getpid(), uid) os.seteuid(uid) except: traceback.print_exc()
def make_self_oom_target_linux(): """Make the current process the primary target for Linux out-of-memory killer""" # In Linux 2.6.36 the system changed from oom_adj to oom_score_adj path = '/proc/%d/oom_score_adj' % os.getpid() if os.path.exists(path): open(path, 'w').write('1000') else: path = '/proc/%d/oomadj' % os.getpid() if os.path.exists(path): open(path, 'w').write('15') # OOM likes nice processes logger.debug('new nice value %d', os.nice(19)) # OOM prefers non-privileged processes try: uid = General.getrealuid() if uid > 0: logger.debug('dropping privileges of pid %d to uid %d', os.getpid(), uid) os.seteuid(uid) except: traceback.print_exc()
def make_self_oom_target_linux(): """Make the current process the primary target for Linux out-of-memory killer""" # In Linux 2.6.36 the system changed from oom_adj to oom_score_adj path = '/proc/%d/oom_score_adj' % os.getpid() if os.path.exists(path): open(path, 'w').write('1000') else: path = '/proc/%d/oomadj' % os.getpid() if os.path.exists(path): open(path, 'w').write('15') # OOM likes nice processes logger.debug(_("Setting nice value %d for this process."), os.nice(19)) # OOM prefers non-privileged processes try: uid = General.getrealuid() if uid > 0: logger.debug( _("Dropping privileges of pid %d to uid %d."), os.getpid(), uid) os.seteuid(uid) except: logger.exception('Error when dropping privileges')