Можно ли ограничить память, которую приложение может использовать?

12

Я использовал инструменты для эффективного уменьшения объема оперативной памяти, доступной для всех приложений, но есть ли что-то, что можно сделать то же самое для каждого приложения?

В частности, я хочу ограничить использование памяти Firefox 3.5 на более старой машине с 128 МБ ОЗУ. В настоящее время Windows 2000 и вспомогательные устройства (включая базовый брандмауэр) потребляют около 80-85 МБ. Откройте несколько вкладок в Firefox, и физическая память скоро израсходуется, что приведет к неизбежному замедлению.

Хотя я приветствую идеи, касающиеся Firefox, я действительно ценю более общий подход, который я мог бы применить к любому приложению .

Благодарю.

Умбер Ферруле
источник
Разве замедление не лучше, чем ошибка запоминания?
Джереми Френч
5
@ Джереми: ни то, ни другое лучше, программа не должна забирать все ресурсы, мешая другим работать правильно.
Gnoupi
1
Является ли переключение на Linux вариант? Есть много способов сделать это, если вы можете переключиться.
DaveParillo
Firefox, RAMpyre ...
Кокбира

Ответы:

4

Я знаю, что это не общий подход к ограничению объема оперативной памяти, доступной для приложений, но вот хорошее руководство по ограничению объема оперативной памяти, доступной для Firefox.

Я не уверен, существует ли общий подход к ограничению использования памяти для отдельных приложений (за исключением, возможно, Java-приложений).

scheibk
источник
Я дам это - ура.
Umber Ferrule
8
ссылка мертва и заменена какой-то глупой рекламой :(
gbjbaanb
6

Вы можете использовать Microsoft Application Verifier . Он не предоставляет много возможностей для управления памятью, но позволяет запускать приложения в среде с ограниченными ресурсами. Это основное использование для профилирования / отладки, но оно может использоваться только для ограничения плохого поведения приложений .

Michaels
источник
Можете ли вы уточнить? Невозможно выяснить, какая опция ответственна за это, тест "низкого ресурса", кажется, только выдает ошибки с заданной вероятностью, когда приложение запрашивает память - не совсем ограничение памяти
Алекс Абдугафаров
5

Вот лекарство, которое может быть хуже болезни - запустить приложение на виртуальной машине. Виртуальная машина будет иметь жесткое ограничение на оперативную память, которую она может использовать.

Очевидно, что создание виртуальной машины сопряжено с некоторыми затратами, но для Firefox вы, вероятно, можете запустить ее в очень небольшом дистрибутиве Linux.

Марк Рэнсом
источник
1
Интересная идея, хотя я не уверен, что смогу сэкономить память при виртуализации.
Umber Ferrule
на 128M машине с Win2k, я думаю, что это может работать не так хорошо :)
Уоррен
2
  • Оптимизируйте использование памяти Firefox, изменив настройки сеанса .
    также прочитайте комментарии на этой странице.

  • Оптимизация Firefox

  • Используйте диспетчер сеансов, чтобы запомнить состояние своего браузера,
    перезапускать браузер всякий раз, когда вы видите, что он потребляет много памяти
    (используйте проводник процессов, указанный ниже, чтобы следить за использованием памяти)

  • Установите Google Chrome, если вы просто запустите его about:memoryвкладку,
    проверьте сравнение Firefox с некоторыми другими браузерами (Opera, IE и т. Д.).

В отдельном примечании проверьте свой список плагинов Firefox.
По вопросу Firefox и утечек памяти ... и ссылок там.


По вопросу общего использования памяти в системе Windows.

  • Я обычно видел произвольные приложения запуска, занимающие много памяти.
    • Вы можете сохранить копию превосходного ProcessExplorer ;
      может быть, даже заменить менеджер задач с ним!
  • По возможности перезапустите приложение или перезагрузите компьютер, если обнаружите, что какая-то системная служба заняла слишком много памяти ...
    • Я обнаружил, что Symantec AV на моей машине продолжает занимать память.
Nik
источник
+1 для ProcessExplorer. Тем не менее, я уже использовал его для удаления нежелательных процессов / сервисов. То, что осталось, нужно, и это те, которые мне нужно сдерживать.
Umber Ferrule
2

Также обработайте лассо http://www.bitsum.com/prolasso.php Просто попробуйте и посмотрите, какой из двух упомянутых мною работает лучше для вас


источник
0

Я обнаружил Minimem, который намеревается сделать то, что мне нужно.

РЕДАКТИРОВАТЬ: Minimem действительно уменьшает объем оперативной памяти приложения каждый раз, как часто вы его устанавливаете (когда не на переднем плане). Тем не менее, уделите основное внимание приложению, и использование оперативной памяти будет сохраняться без ограничений до следующего раза. То, что я ищу, это что-то, чтобы установить жесткое ограничение на использование памяти приложения, а не урезать его время от времени.

Умбер Ферруле
источник
Minimem, скорее всего, своп форсер. Это заставляет использование памяти в swap.
Джек М.
0

Я знаю, это не firefox, но k-meleon может хорошо подойти для машины - он использует gecko, хорошо работает и поддерживает некоторые расширения, в частности, adblock. Не совсем Firefox, но он хорошо работает на почти одинаковых спецификациях.

Подмастерье Компьютерщик
источник
0

AFOM аддон очень эффективен при сокращении использования памяти, особенно после длительных сеансов. Не совсем ваш полный ответ, но я надеюсь, что вы найдете его полезным.

outsideblasts
источник
0

Честно говоря, объем памяти, используемый Firefox, Safari, Word или любым другим приложением, не должен быть ограничен. Если Firefox загружает страницу, содержащую 80 МБ изображений, он должен аварийно завершить работу, потому что не может выделить память или продолжать работать, занимая память.

Для меня вы просите приложение ограничить его производительность в пользу других приложений. На сегодняшнем рынке покупайте больше оперативной памяти . Зачем ограничивать объем памяти, который приложение может использовать в ущерб производительности и надежности, когда вы можете приобрести оперативную память за копейки?

Если вам абсолютно необходимо ограничить использование памяти, используйте меньшее приложение. Если вы хотите просматривать веб-страницы и использовать практически 0 памяти? Используйте рысь . Если вам не нравится использование памяти iTunes, используйте mpg123, чтобы обложки альбомов и т.п. не загружались, а просто воспроизводилась музыка.

Не просите существующее приложение, предназначенное для большого объема памяти, запускаться в клетке. Это просто глупо.

Джек М.
источник
Обычно я вполне соглашался с получением большего количества оперативной памяти, но рассматриваемый ноутбук был настолько стар, что на нем уже был установлен максимальный объем памяти, отсюда и запрос программного (частично) решения.
Umber Ferrule
Даже с этим, я все еще смотрю на альтернативное программное обеспечение. Возможно, даже альтернативная ОС, чтобы дать вам больше места в оперативной памяти.
Джек М.
0

С это может помочь ваш Firefox Memory Leak :

Это небольшое исправление переместит Firefox на ваш жесткий диск, когда вы минимизируете его, и в результате оно будет занимать менее 10 МБ памяти при минимизации. Пока что из моего опыта использования этого сегодня, когда вы максимизируете Firefox, это, очевидно, увеличит использование памяти.
Тем не менее, кажется, что он не возвращается к безумному количеству, в котором он находился, прежде чем минимизировать его.
Например, Firefox занимал 180 МБ памяти, а затем я уменьшил ее, а через несколько секунд я увеличил ее. После максимизации и продолжения моего рутинного бизнеса оказалось, что он вырос до 60 МБ. Мне кажется, что сейчас это хорошее решение, так как я все равно часто максимизирую и минимизирую Firefox.

  1. Откройте Firefox и перейдите в адресную строку. Введите about:configи нажмите Enter.
  2. Щелкните правой кнопкой мыши на странице и выберите New-> Boolean.
  3. В появившемся окне введите config.trim_on_minimize. Нажмите Ввод.
  4. Теперь выберите True и затем нажмите Enter.
  5. Перезапустите Firefox.

Судя по комментариям в конце статьи, этот параметр также урезает память FF при минимизации (сборкой мусора или другим способом).

harrymc
источник
0

Вы можете использовать виртуальную машину для этого и, в частности, Firefox. Вы можете использовать linux для этой цели, который использует ram довольно низко и ограничивает использование ram в vmware до 128 или 256.
Это заставляет firefox использовать то, что ограничено не всей памятью.
Если вы знаете о других хитростях, таких как мини-XP (использование оперативной памяти 40 МБ) или крошечный XP (использование оперативной памяти 70 МБ) или tiny7 (я думаю, более 100 МБ), или других, вы можете использовать их тоже, но они незаконны.

TechLife
источник