Сжатие памяти в Net приложении
От: Alexander_fx  
Дата: 12.03.16 20:26
Оценка:
Привет
есть ли какие способы сжимать память используемую приложением.
Есть приложение которое держит в памяти много обьектов — они нужны но довольно редко
можно ли как то заставить приложение сжать эту память для экономии — или как то высвободить временно — например сбросить в своп принудительно до возникновения потребности.
в пике приложение жрет 16 гигов
Re: Сжатие памяти в Net приложении
От: _ichensky https://github.com/ichensky
Дата: 12.03.16 21:23
Оценка:
Здравствуйте, Alexander_fx, Вы писали:

A_>Привет

A_>есть ли какие способы сжимать память используемую приложением.
A_>Есть приложение которое держит в памяти много обьектов — они нужны но довольно редко
A_>можно ли как то заставить приложение сжать эту память для экономии — или как то высвободить временно — например сбросить в своп принудительно до возникновения потребности.
A_>в пике приложение жрет 16 гигов
Можно сериализовать объекты и скинуть их в файл/бд.
Re: Сжатие памяти в Net приложении
От: Sinix  
Дата: 12.03.16 21:40
Оценка:
Здравствуйте, Alexander_fx, Вы писали:

A_>есть ли какие способы сжимать память используемую приложением.


Кэп: вариантов немного.
1. Не держать всё в памяти, использовать кэш с лимитами.
2. Использовать более эффективные структуры данных (если ещё не).
3. ИБД с Process.MaxWorkingSet (обёртка для SetProcessWorkingSetSize())
Re[2]: Сжатие памяти в Net приложении
От: Alexander_fx  
Дата: 12.03.16 22:17
Оценка:
Здравствуйте, Sinix, Вы писали:

S>Здравствуйте, Alexander_fx, Вы писали:


A_>>есть ли какие способы сжимать память используемую приложением.


S>Кэп: вариантов немного.

S>1. Не держать всё в памяти, использовать кэш с лимитами.
S>2. Использовать более эффективные структуры данных (если ещё не).
S>3. ИБД с Process.MaxWorkingSet (обёртка для SetProcessWorkingSetSize())


а можно про п1 поподробнее
что за кеш с лимитами
Re[3]: Сжатие памяти в Net приложении
От: Sinix  
Дата: 13.03.16 08:21
Оценка: 2 (1)
Здравствуйте, Alexander_fx, Вы писали:

A_>а можно про п1 поподробнее

A_>что за кеш с лимитами
Ну можно штатный исользовать, только проверить, что вот это починили.
Для mvc 5 можно глянуть на mem cache / distributed cache.
Можно свой набросать. Или Pile использовать, в соседнем топике
Автор: Alexander_fx
Дата: 20.02.16
на последних страницах за него воюют.

Выбирайте
Re[3]: Сжатие памяти в Net приложении
От: Win32nipuh  
Дата: 14.03.16 15:59
Оценка:
Здравствуйте, Alexander_fx, Вы писали:

A_>Здравствуйте, Sinix, Вы писали:


S>>Здравствуйте, Alexander_fx, Вы писали:


A_>>>есть ли какие способы сжимать память используемую приложением.


S>>Кэп: вариантов немного.

S>>1. Не держать всё в памяти, использовать кэш с лимитами.
S>>2. Использовать более эффективные структуры данных (если ещё не).
S>>3. ИБД с Process.MaxWorkingSet (обёртка для SetProcessWorkingSetSize())


A_>а можно про п1 поподробнее

A_>что за кеш с лимитами

Сериализе\десериализе в Redis в качестве кеш сервера
Re[4]: Сжатие памяти в Net приложении
От: Sinix  
Дата: 14.03.16 17:00
Оценка:
Здравствуйте, Win32nipuh, Вы писали:

W>Сериализе\десериализе в Redis в качестве кеш сервера

Угу. И для неё ничего готовить не надо, есть из коробки в MVC5 Distributed Cache
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.