Сейчас, конечно, прибежит храбрый анон, чтобы назвать меня нищебродом, у которого нет макбука, а так же дебилом, не способным поставить десяточку. Но, пока анон не прибежал, возможно заглянут люди и что-то посоветуют. За что людям заблаговременное спасибо.
Сразу скажу. Если и приходил 12309, то я не понял, что это был именно он. Так что, можно считать, что с 12309 я не общался.
Глухие висяки при свопинге были, но сейчас их нет. То ли замена HDD на SSD, то ли пятое ядро, которое позволило правда отключить системный планировщик ввода-вывода... То ли у меня просто получилось-таки подстроить как надо... Нет сейчас этих висяков. Память заполняется, своп заполняется, все идет как надо. Oom killer мне не нужен. Доставлю памяти, сколько возможно, растяну своп раздел (я предусмотрел такую нужду и обеспечил возможность).
Но есть одно НО. Я все же хочу промоделировать ситуацию, когда хорошо настроенной системой на десктопе сможет пользоваться простой человек, который внезапно запустит что-то жадное, а Alt+SysRq+F не знает.
Итак, я запускаю Firefox и Chrome. Ну, многие же говорят, что это самые известные жруны. И начинаю открывать много вкладок с разной толстой фигнёй. Пока не начнется свопинг. После этого я могу заниматься тем же еще долго, все будет нормально. А могу запустить VirtualBox, а на нем Андроид, и тогда все встанет колом при →100% загруженном процессоре. Тогда я делаю Alt+SysRq+F (несколько раз, если нужно) и Андроид на виртуалке начинает работать. После этого можно перезагрузить вкладки, побитые Alt+SysRq+F и продолжать заниматься фигней с броузерами. Все снова будет нормально, своп будет постепенно заполняться. Пока снова не будет запущено что-то очень жадное.
Какой выход подозреваю в этой ситуации. Надо как-то держать пару гигов RAM свободными, для таких вот случаев. Чтобы, если что, любой обжора смог их занять. Но, при этом, как только самое активное пожирательство произойдет, эта пара гигов снова спокойненько освободилась путём переноса чего можно в своп.
Вот только как это сделать - сам я не знаю. vm.swappiness=100
уже сделано, vm.vfs_cache_pressure=50
. vm.min_free_kbytes
, как я понял, это про то, что пользовательским процессам просто вообще трогать нельзя, ни при каких раскладах.
Вот как такой «амортизатор» в памяти сделать?