set CPUSchedulingPolicy=fifo
This commit is contained in:
parent
8192681b07
commit
e62629d57d
7
nohang
7
nohang
@ -27,7 +27,7 @@ else:
|
|||||||
wait_time = 14
|
wait_time = 14
|
||||||
|
|
||||||
max_sleep_time = 1
|
max_sleep_time = 1
|
||||||
min_sleep_time = 0.05
|
min_sleep_time = 0.02
|
||||||
|
|
||||||
notify_helper_path = '/usr/bin/nohang_notify_helper'
|
notify_helper_path = '/usr/bin/nohang_notify_helper'
|
||||||
|
|
||||||
@ -38,8 +38,10 @@ debug = False
|
|||||||
|
|
||||||
|
|
||||||
stop_cont = True
|
stop_cont = True
|
||||||
|
print_states_debug = False
|
||||||
|
|
||||||
SC_CLK_TCK = os.sysconf(os.sysconf_names['SC_CLK_TCK'])
|
|
||||||
|
# SC_CLK_TCK = os.sysconf(os.sysconf_names['SC_CLK_TCK'])
|
||||||
|
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
@ -488,6 +490,7 @@ def cont(stopped_list):
|
|||||||
|
|
||||||
|
|
||||||
def print_states():
|
def print_states():
|
||||||
|
if print_states_debug:
|
||||||
print()
|
print()
|
||||||
t1 = time()
|
t1 = time()
|
||||||
print('non-S states:')
|
print('non-S states:')
|
||||||
|
26
nohang.conf
26
nohang.conf
@ -42,13 +42,13 @@
|
|||||||
|
|
||||||
MemAvailable levels.
|
MemAvailable levels.
|
||||||
|
|
||||||
mem_min_sigterm = 10%
|
mem_min_sigterm = 200M
|
||||||
mem_min_sigkill = 5%
|
mem_min_sigkill = 100M
|
||||||
|
|
||||||
SwapFree levels.
|
SwapFree levels.
|
||||||
|
|
||||||
swap_min_sigterm = 10%
|
swap_min_sigterm = 200M
|
||||||
swap_min_sigkill = 5%
|
swap_min_sigkill = 100M
|
||||||
|
|
||||||
Specifying the total share of zram in memory, if exceeded the
|
Specifying the total share of zram in memory, if exceeded the
|
||||||
corresponding signals are sent. As the share of zram in memory
|
corresponding signals are sent. As the share of zram in memory
|
||||||
@ -118,7 +118,7 @@ min_badness = 30
|
|||||||
Valid values are non-negative floating-point numbers.
|
Valid values are non-negative floating-point numbers.
|
||||||
|
|
||||||
min_delay_after_sigterm = 0.2
|
min_delay_after_sigterm = 0.2
|
||||||
min_delay_after_sigkill = 0.8
|
min_delay_after_sigkill = 1
|
||||||
|
|
||||||
Процессы браузера chromium обычно имеют oom_score_adj
|
Процессы браузера chromium обычно имеют oom_score_adj
|
||||||
200 или 300. Это приводит к тому, что процессы хрома умирают
|
200 или 300. Это приводит к тому, что процессы хрома умирают
|
||||||
@ -132,7 +132,7 @@ min_delay_after_sigkill = 0.8
|
|||||||
Valid values are True and False.
|
Valid values are True and False.
|
||||||
Values are case sensitive.
|
Values are case sensitive.
|
||||||
|
|
||||||
decrease_oom_score_adj = False
|
decrease_oom_score_adj = True
|
||||||
|
|
||||||
Valid values are integers from the range [0; 1000].
|
Valid values are integers from the range [0; 1000].
|
||||||
|
|
||||||
@ -160,7 +160,7 @@ oom_score_adj_max = 30
|
|||||||
|
|
||||||
Valid values are True and False.
|
Valid values are True and False.
|
||||||
|
|
||||||
regex_matching = False
|
regex_matching = True
|
||||||
|
|
||||||
Syntax:
|
Syntax:
|
||||||
|
|
||||||
@ -184,7 +184,7 @@ regex_matching = False
|
|||||||
|
|
||||||
A good option that allows fine adjustment.
|
A good option that allows fine adjustment.
|
||||||
|
|
||||||
re_match_cmdline = False
|
re_match_cmdline = True
|
||||||
|
|
||||||
@CMDLINE_RE 300 /// -childID|--type=renderer
|
@CMDLINE_RE 300 /// -childID|--type=renderer
|
||||||
|
|
||||||
@ -195,7 +195,7 @@ re_match_cmdline = False
|
|||||||
|
|
||||||
The most slow option
|
The most slow option
|
||||||
|
|
||||||
re_match_uid = False
|
re_match_uid = True
|
||||||
|
|
||||||
@UID_RE -100 /// ^0$
|
@UID_RE -100 /// ^0$
|
||||||
|
|
||||||
@ -215,7 +215,7 @@ re_match_uid = False
|
|||||||
|
|
||||||
Valid values are True and False.
|
Valid values are True and False.
|
||||||
|
|
||||||
execute_the_command = False
|
execute_the_command = True
|
||||||
|
|
||||||
The length of the process name can't exceed 15 characters.
|
The length of the process name can't exceed 15 characters.
|
||||||
The syntax is as follows: lines starting with keyword $ETC are
|
The syntax is as follows: lines starting with keyword $ETC are
|
||||||
@ -258,7 +258,7 @@ $ETC firefox-esr /// kill -SEGV $PID
|
|||||||
See also wiki.archlinux.org/index.php/Desktop_notifications
|
See also wiki.archlinux.org/index.php/Desktop_notifications
|
||||||
Valid values are True and False.
|
Valid values are True and False.
|
||||||
|
|
||||||
gui_notifications = False
|
gui_notifications = True
|
||||||
|
|
||||||
Enable GUI notifications about the low level of available memory.
|
Enable GUI notifications about the low level of available memory.
|
||||||
Valid values are True and False.
|
Valid values are True and False.
|
||||||
@ -268,7 +268,7 @@ gui_low_memory_warnings = False
|
|||||||
Минимальное время между отправками уведомлений в секундах.
|
Минимальное время между отправками уведомлений в секундах.
|
||||||
Valid values are floating-point numbers from the range [1; 300].
|
Valid values are floating-point numbers from the range [1; 300].
|
||||||
|
|
||||||
min_time_between_warnings = 10
|
min_time_between_warnings = 15
|
||||||
|
|
||||||
Если значения MemAvailable и SwapFree одновременно будут ниже
|
Если значения MemAvailable и SwapFree одновременно будут ниже
|
||||||
соотвестствующих значений, то будут отправлены уведомления.
|
соотвестствующих значений, то будут отправлены уведомления.
|
||||||
@ -301,7 +301,7 @@ print_config = False
|
|||||||
Print memory check results.
|
Print memory check results.
|
||||||
Valid values are True and False.
|
Valid values are True and False.
|
||||||
|
|
||||||
print_mem_check_results = True
|
print_mem_check_results = False
|
||||||
|
|
||||||
Print sleep periods between memory checks.
|
Print sleep periods between memory checks.
|
||||||
Valid values are True and False.
|
Valid values are True and False.
|
||||||
|
@ -5,19 +5,18 @@ Documentation=man:nohang(1) https://github.com/hakavlad/nohang
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=/usr/sbin/nohang
|
ExecStart=/usr/sbin/nohang
|
||||||
|
Slice=nohang.slice
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=1
|
|
||||||
IOSchedulingClass=1
|
|
||||||
IOSchedulingPriority=0
|
|
||||||
Nice=-20
|
|
||||||
CPUSchedulingPolicy=rr
|
|
||||||
CPUSchedulingPriority=99
|
|
||||||
CPUSchedulingResetOnFork=true
|
|
||||||
ProtectSystem=strict
|
ProtectSystem=strict
|
||||||
MemoryMax=100M
|
MemoryMax=100M
|
||||||
TasksMax=100
|
TasksMax=100
|
||||||
OOMScoreAdjust=-20
|
OOMScoreAdjust=-10
|
||||||
Slice=nohang.slice
|
Nice=-20
|
||||||
|
IOSchedulingClass=1
|
||||||
|
IOSchedulingPriority=0
|
||||||
|
CPUSchedulingPolicy=fifo
|
||||||
|
CPUSchedulingPriority=99
|
||||||
|
CPUSchedulingResetOnFork=true
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
Loading…
Reference in New Issue
Block a user