Ну как бы приложения вообще надо писать исходя из того, что возможности железа не беспредельны… помнится, под ДОСом мы как-то мирились с тем, что при аллокации можем получить NULL. Потому что память кончилась от слова «совсем», и что-то надо выгружать, от чего-то отказываться. И мне эта похоронная оргия кажется набором абсурдных костылей, призванных разрулить неразрулимую ситуацию, вызванную тем, что программисты приучились считать память бесконечной. Тут не вопрос, кого должен грохнуть оом-киллер, а вопрос, какого фига архитектура и системы, и БД такова, что возникает такая потребность. Грамотно написанное приложение может по обстоятельствам как укэшироваться до полного оргазма, чтобы мгновенно выполнять любые хотелки, так и урезать осетра до работы чуть ли не прямо с диска/на диск. Но для этого его надо снабжать правдивой инфой о том, сколько оно может получить физической памяти, сколько виртуальной, какие где скорости и т. д. Чтобы можно было принимать взвешенное решение, какой из вариантов использовать. И не надо рассказывать, как это прям вот безумно сложно. Закон 20/80 там прекрасно работает, 20% усилий сводят проблемы к какому-то исчезающе малой доле, с которой 80% пользователей даже в припадке безалаберности не столкнутся.
|