Комментарии 20
Меня куда больше изумляет dwm, который не стесняясь «отъедает» почти гигабайт — зачем ему столько?! Нет, мне не жалко, но сам факт…
dwm, который не стесняясь «отъедает» почти гигабайт — зачем ему столько?!А у него утечка памяти. Помню такое было на драйверах AMD и/или каких-то Nvidia. Просто убей его в процессах и он запустится заново без мусора.
Да иногда и системные требования программ уровня ~ текстового редактора изумляют по размеру ОЗУ, причём корреляция идёт с известностью бренда, любительские проги явно меньше жрут при схожем функционале.
А ещё нужно где-то хранить области памяти для рендеринга шрифтов и кнопочек. И это всё — o(n2) от размера.
Понятно, что есть масса техник оптимизации. Но некоторые из них требуют жертв со стороны пользователя (см IE'шную картинку в посте) — например, если не хранить память а рисовать «on demand», то если приложение зависло, то оно больше не перерисовывает экран.
Раньше программе присылали invalidate и она перерисовывала. Памяти при этом тратилось мало. Т.к. всех пользователей такое поведение программы сильно раздражало, то сделали иначе: есть копия картинки от программы. Это означает, что к каждой программе (окну!) дописали N мегабайт памяти на хранение.
Это частичный ответ на вопрос. Всякие ценители досовых программ в единицы килобайт часто забывают, что в те времена 640х480 8 бит было уже круто и красиво.
Фотошоп любит и умеет отжирать большие объёмы памяти <...> Благо в самом приложении есть инструмент ограничения доступного объёма оперативки (не стоит выделять больше 66%)
Вообще оптимальный уровень около 60-75% для всех новых версий (лучше оставить по умолчанию 70), при этом сама Adobe не рекомендует ставить больше 85%. Ну это я так, к слову.
Сколько себя помню — нытье было всегда :)
Даже когда я в 91м заполучил самый настоящий PС/XT (640Кб 4.77Мгц, все дела), пересев на него со Спектрума, местные умельцы (дядьки на 10-15 лет постарше) ходили ко мне на тусу "потоптать писюк" и фыркали при виде 20Мб винта, под завязку забитого барахлом типа BorlandC 3.0, который работал там с дичайшим скрипом, и сокрушались, вот мол, никакой экономии места, программы неоптимизированны, борландовский компилятор подтягивал с собою кучу "ненужных" либ, то ли дело они в 48Кб укладывали и игры и даже какие-то электронные таблицы. :)
Хотя моя первая относительно полноценная разработка (которая хоть что-то полезное делала) — квази-клон старого доброго King's Bounty в EGA-палитре (на стандартных борландовских egavga.bgi, уже на 386м проце где-то в 93 или 94м) занимал аж 160Кб (это только EXE!) и я прям-таки физически страдал от того, что при таком минимуме функционала файл получался такой жирный.
А щас ничо, почти привык уже к тому, что 64-битный Хром может на полусотне вкладок отожрать гигов 16 памяти и не подавиться.
Поэтому, подзадушив жабу, раз в несколько подтыкиваю еще один модуль оперативки в плату. Уже насобирал 48Гб, пока хватает. Память, кстати… кхм-хм та самая, с красной небритой башкой на коробочке.
"полсотни" — это все же 50, а не 500 :)
Да я ж не спорю, что нынешние свистелко-перделки в браузерах только на уровне рендера DOM занимает немало ОЗУ, не говоря уже о запросах JS или модулей типа баннерорезок.
И отлично понимаю, какое количество человеко-часов может уйти на то, чтобы (как некоторые ратуют) "оптимизировать" браузер, написав его чуть ли не на ассемблере без "этих ужасных фреймворков" — про это просто можно (а точнее нужно) забыть — затея совсем так себе.
Растущие аппетиты софта компенсируются ростом аппаратной части. И собственно, этот симбиоз и двигает прогресс.
Можно конечно повздыхать и покивать на древнюю аппаратуру "Вояджера", где в считанные килобайты памяти умудряются впихнуть невпихуемое.
Или покивать на парней, которые умудрялись делать шедевры на плойке, где каждый байт был на счету (где-то тут была увлекательнейшая статья на эту тему).
Но… Не буду :)
В 90% случаев такого поведения у пользователей установлен SSD и включены одновременно файл подкачки и режим гибернации. Игра сбрасывает неиспользуемые ресурсы из оперативки в своп, «Винда» кэширует их и сохраняет на случай ухода в сон, далее графика используется повторно и вновь откладывается в «долгий ящик». Вот только старые копии никуда не удаляются – спустя несколько часов, в зависимости от объёма накопителя, свободное место на нём заканчивается, система падает до перезагрузки и очистки временных файлов.
Это действительно так работает? Зачем что то сохранять на случай ухода в сон? Питание ОЗУ не отключаеться а значит все можно хранить так же как и раньше. И вобще, при чем тут ССД? У меня такое было и на ХДД (режим гибернации и файл подкачки).
Есть ражим:
гибернации,
спящий,
гибридный
Так вот. Гибридный режим это когда при переходе в спящий режим данные дублируються и на жестком диске и в случае отключения питания компьютер включиться так же как это было бы при выходе из режима гибернации. Если компютер не отключать то он возобновит работу так же как и после обычного спящего режима — то есть через несколько секунд.
Скайп.
Особенно учитывая его убитый в хлам в новой версии функционал — из цензурных слов только молчание и остается.
Оперативное вмешательство: разбираемся с утечками памяти