This commit is contained in:
Alexey Avramov 2019-03-31 20:28:09 +09:00
parent d14d418cac
commit f3a0ef42fc
3 changed files with 54 additions and 7 deletions

46
misc/FAQ.ru.md Normal file
View File

@ -0,0 +1,46 @@
Fedora 21 (KDE) Гуглил долго, про oom-killer много чего прочитал. Но не понял, как его активировать. whereis его не нашёл, в репах его не нашёл. Если это встроенное средство - почему у меня не запускается и где его конфиг? Мне нужно тупо, чтобы если оперативка исчерпалась - прибило последнюю вкладку хрома. Либо вообще killall chrome тупо и всё. Как проще всего сделать?
https://www.linux.org.ru/forum/desktop/11511840
OOM Killer под себя
Здравствуйте!
Задача такова, надо (курсовая работа по системному программированию) пропатчить ядро с изменением oom killer'a, т.е.
1)требуется создать некоторый список с названиями процессов, которые "мудрый киллер" будет удалять в первую очередь или наоборот оставлять.
2)требуется создать свою систему расчета приоритетов для удаления процессов.
Я НЕ продвинутый линуксоид, поэтому прошу помощи у общественности. С чего начать и как приступить к выполнению?
https://www.linux.org.ru/forum/development/3555574
Товарищи, можете посоветовать какую-нибудь стандартную программу, которая, в какой-то определённо ситуации, жрала память, что приводило бы к запуску Killer`a.
Чтобы потом можно было на ней тестить курсач)
https://www.linux.org.ru/forum/development/3555574?cid=3570489
Post-mortem по логам OOM-killer.
Суть такова, в определенный момент на машине случилось нечто, в результате чего кончилась физическая память и ОС залезла в своп с головой. Производительность упала до потери всякого отклика от машины. OOM-killer включился, но, похоже, занимался убийством исключительно невиновных и никому не мешающих процессов.
Можно ли как-то по логам отследить, кто сожрал всю память? Хотя бы имена павших жертвами киллера?
Или сразу самому писать скрипт, сбрасывающий на диск ps aux, для следующего такого случая?
https://www.linux.org.ru/forum/admin/5693261
Проблема в том что у меня на VDS мало оперативки и она занята полностью пытаясь подключиться сервер не может выделить памяти и обрывает соединение. что прописать чтобы ссх постоянно висел в процессах с выделенным скажем полумегабайтным или сколько там ему достаточно лимитом?
https://www.linux.org.ru/forum/general/5399920?cid=5399954

6
nohang
View File

@ -906,8 +906,8 @@ def find_victim(_print_proc_table):
pid_to_name(pid).ljust(15),
pid_to_uid(pid).rjust(10),
# pid_to_cmdline(pid)
# pid_to_realpath(pid)
pid_to_cgroup(pid)
pid_to_realpath(pid)
# pid_to_cgroup(pid)
# pid_to_name(pid)
# ''
)
@ -1509,7 +1509,7 @@ for s in mem_list:
mem_list_names.append(s.split(':')[0])
if mem_list_names[2] != 'MemAvailable':
errprint('WARNING: Your Linux kernel is too old, Linux 3.14+ requied\nExit')
errprint('WARNING: Your Linux kernel is too old, Linux 3.14+ requied')
# exit(1)
swap_total_index = mem_list_names.index('SwapTotal')

View File

@ -103,7 +103,7 @@ psi_metrics = some_avg10
sigterm_psi_threshold = 80
sigkill_psi_threshold = 90
psi_post_action_delay = 60
psi_post_action_delay = 40
#####################################################################
@ -300,6 +300,7 @@ gui_low_memory_warnings = True
Execute the command instead of sending GUI notifications if the value is
not empty line. For example:
warning_exe = cat /proc/meminfo &
warning_exe = cat /proc/pressure/memory && cat /proc/sys/fs/unified/system.slice/memory.pressure && cat /proc/sys/fs/unified/user.slice/memory.pressure
warning_exe =
@ -308,7 +309,7 @@ warning_exe =
mem_min_warnings = 25 %
swap_min_warnings = 25 %
swap_min_warnings = 50 %
zram_max_warnings = 40 %
@ -331,7 +332,7 @@ print_config = False
Print memory check results.
Valid values are True and False.
print_mem_check_results = False
print_mem_check_results = True
min_mem_report_interval = 60
@ -346,7 +347,7 @@ print_proc_table = True
print_victim_info = True
max_ancestry_depth = 1
max_ancestry_depth = 5
separate_log = False