Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/12: Рейтинг темы: голосов - 12, средняя оценка - 4.83
7 / 7 / 0
Регистрация: 18.11.2011
Сообщений: 150
1

Веб сервер MVC потребляет много памяти

17.04.2012, 22:21. Просмотров 2284. Ответов 16
Метки нет (Все метки)

На домашнем компьютере заметил такую проблему. Веб сервер MVC ест почти полтора гигабайта памяти (из имеющихся 2х). Естественно весь комп дико начинает тормозить, писать ничего невозможно.)

Подскажите, какие возможны причины? Может кто-то уже сталкивался с подобным.)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.04.2012, 22:21
Ответы с готовыми решениями:

DataGridView потребляет много памяти
Обновляю содержимое 20х40 ячеек DataGridView, с каждым обновлением программа потребляет на 2 мб...

Клиент VK потребляет много памяти
Доброго времени суток! Введу того, что недавно было удалено официальное приложенице "Vk" для Ipad,...

Приложение потребляет много памяти
Привет всем. Возникла такая проблема, при загрузке изображений из папки, приложение начинает есть...

Wintab service потребляет много памяти
Что за шиза вообще?! PArblo a610 планшет. Проблем таких вообще никогда не было.

16
82 / 82 / 14
Регистрация: 09.04.2012
Сообщений: 199
18.04.2012, 09:30 2
а приложение тяжелое?
0
7 / 7 / 0
Регистрация: 18.11.2011
Сообщений: 150
18.04.2012, 16:19  [ТС] 3
Не особенно. У меня на клиенте есть несколько таймеров на jquery, они раз в две секунды отправляют запросы на сервер. Думал из-за этого. Но не должно.
Вобщем, уже подумываю переустановить винду
0
518 / 510 / 68
Регистрация: 19.09.2011
Сообщений: 826
18.04.2012, 16:31 4
Скорее не в винде проблема, а в коде вашего сайта.
0
7 / 7 / 0
Регистрация: 18.11.2011
Сообщений: 150
18.04.2012, 17:34  [ТС] 5
Возможно. Но винда и так уже давно тормозит =)

Я так понимаю, что такое возможно, если есть зациклинности в коде или что-то ещё? Интересно, что при старте сервер занимает около 300-т мб, и дальше потихоньку потребляет всё больше и больше, пока вся память не кончится.
0
82 / 82 / 14
Регистрация: 09.04.2012
Сообщений: 199
18.04.2012, 18:25 6
у меня 70мб - средний сайт
а у вас там static полей или проперти нету? таких больших и толстых
1
7 / 7 / 0
Регистрация: 18.11.2011
Сообщений: 150
19.04.2012, 01:13  [ТС] 7
Эм.. есть..) Но вопрос, почему расход памяти увеличивается планомерно??

И что за беда со статикой? =)

Добавлено через 42 минуты
Был статический класс с тяжёлыми полями, заменил на обычные свойства. Вот, я к тому, что память всё равно куда-то теряется.. странные дела.
0
35 / 35 / 1
Регистрация: 14.01.2011
Сообщений: 111
19.04.2012, 06:21 8
C#
1
2
[DllImport("kernel32.dll")]
        public static extern bool SetProcessWorkingSetSize(IntPtr handle, int minimumWorkingSetSize, int maximumWorkingSetSize);
и перед новым запросом данных из базы вызывай

C#
1
SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1);
это почисти озу, но если у тебя утечки памяти, тебе это не поможет
1
7 / 7 / 0
Регистрация: 18.11.2011
Сообщений: 150
19.04.2012, 09:20  [ТС] 9
Хм, попробую. А какие возможные причины утечки памяти? Может ли это связано с базой, например, с кривым репозиторием?
0
35 / 35 / 1
Регистрация: 14.01.2011
Сообщений: 111
19.04.2012, 09:25 10
нет, посмотри объекты по средствам которых ты тянешь данные, когда ты их создаешь когда делаешь dispose, вообще это может быть что угодно, почитай про сборку мусора в .Net
1
7 / 7 / 0
Регистрация: 18.11.2011
Сообщений: 150
19.04.2012, 15:58  [ТС] 11
блин, так и не разобрался.
все добавления, селект и удаление я делаю через репозиторий. А там везде using ITransaction, он по идее должен постоянно закрывать соединение после завершения каждой транзакции.
0
82 / 82 / 14
Регистрация: 09.04.2012
Сообщений: 199
19.04.2012, 20:20 12
Когда втягиваю данные я обычно всегда стараюсь работать через using(){} для 95% освобождения памяти
попробуйте полазить по проекту и следить за памятью.
Запустите проект в на заранее неправильную страницу так что б была ошибка 404, ни одного обращения в базу, посмотрите бьем занятого места, потом уже полазьте по проекту, следите за расходом. Сделайте выводы
А работаете с Entity Framework?
1
7 / 7 / 0
Регистрация: 18.11.2011
Сообщений: 150
19.04.2012, 22:21  [ТС] 13
Нет, я работаю с NHibernate.
0
CEO
Эксперт С++
2255 / 1245 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
20.04.2012, 09:32 14
Цитата Сообщение от DroidAn Посмотреть сообщение
NHibernate
Он поддерживает кеширование запросов, возможно в этом проблема?
Я б советовал запустить аналитику производительности для проекта и посмотреть какие вызовы потребляют больше всего ресурсов.
1
7 / 7 / 0
Регистрация: 18.11.2011
Сообщений: 150
20.04.2012, 14:05  [ТС] 15
Alligieri, подскажите, как просмотреть аналитику производительности?
0
CEO
Эксперт С++
2255 / 1245 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
22.04.2012, 14:21 16
DroidAn, в VS 2010 вызывается сочетанием клавиш Alt+F2
1
7 / 7 / 0
Регистрация: 18.11.2011
Сообщений: 150
23.04.2012, 13:56  [ТС] 17
Ребята, решил проблему, создав unitOfWork. Оказалось, что сессию не закрывал после обращения к базе.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2012, 13:56

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

WebBrowser потребляет много оперативной памяти
я автоматизировал операции на сайте с помощью WebBrowser но при каждой итерации память потребляемая...

Svchost.exe потребляет слишком много памяти
Пожалуйста подскажите как можно уменьшить потребление памяти svchost.exe И обьясните мне...

Chromium потребляет очень много оперативной памяти
Здравствуйте, друзья! Установил Lunux(Ubuntu 14.04) на ноутбук, чтобы как-то компенсировать...

Программа, работающая с графикой, потребляет много памяти
Здравствуйте. Объясните, пожалуйста, как 3600 простых(из 2ух треуг.) объектов и 3600 сложных(сфера)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.