diff --git a/misc/FAQ.ru.md b/misc/FAQ.ru.md new file mode 100644 index 0000000..1dda627 --- /dev/null +++ b/misc/FAQ.ru.md @@ -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 + + + + + + + + diff --git a/nohang b/nohang index ea1a44f..24a1fc9 100755 --- a/nohang +++ b/nohang @@ -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') diff --git a/nohang.conf b/nohang.conf index 4d2cb32..44f9de9 100644 --- a/nohang.conf +++ b/nohang.conf @@ -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