![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
_prishelec_ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 24.11.2007 Репутация: нет Всего: нет |
Добрый день!
Интересует такой вопрос: приложение написано на c#, и при его сворачивании (минимизирование окна) сбрасывается оперативная память. К примеру приложение занимало метров 30, после минимизации уже метров 2-4. Как можно это делать программно? Уже несколько часов юзаю System.Diagnosticsю.Process.GetCurrentProcess(), пока толкового решения не нашел? |
|||
|
||||
Voyager |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 532 Регистрация: 8.2.2005 Репутация: 3 Всего: 18 |
|
|||
|
||||
gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: 5 Всего: 40 |
Принудительно вызвать GC. Он освободит все не использованные ресурсы. Хотя MS этого не советуют, GC сам все сделает, когда он будет нужен. Кроме того, зачем? У вас на столько мало памяти, что надо контролировать приложение?
|
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 6 Всего: 211 |
||||
|
||||
ДобренькийПапаша |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 14.1.2006 Где: г.Москва Репутация: нет Всего: 7 |
_prishelec_,
Трогать сборщик мусора вообще не рекомендуется. Делать этого не надо даже тогда, когда кажется, что надо. GC трогать действительно следует в 1% случаев из тех, когда приходит такая мысль в голову. Обычно GC затрагивается программно, когда создаются одноразовые объекты (реализующие IDisposable), а по спецификации, такие объекты ещё и финализатор должны определить. Таким образом GC будет затронут программно. Какие ещё возможны случаи - даже не знаю))) Это сообщение отредактировал(а) ДобренькийПапаша - 13.8.2010, 19:53 -------------------- Меня зовут Себастьян Парейра, торговец чёрным деревом. |
|||
|
||||
_prishelec_ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 24.11.2007 Репутация: нет Всего: нет |
На серваке надо запустить столько копий, сколько хватает оперативы. Писал на C# так как не было другого выхода. Делфя или сишка не предоставляла таких возможностей, чтобы написать мое ПО, вернее очень-очень геморно было бы. В ПО интегрирован мозилловский движок, а на c# был хороший компонентик. |
|||
|
||||
jonie |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
зря вы кстати на это не обратили внимание... это просто сбросил ворксет в пейджфайл.. и в эксплороре будет выглядеть как будто памяти мало.. )) в общем "меньше" чем можно оно не сможет стать имхо. -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
||||
|
|||||
_prishelec_ |
|
||||||||||||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 24.11.2007 Репутация: нет Всего: нет |
Большое вам спасибо. Кста память идет в swap или же нет, если в среднем прога хавает под 50 метров оперативы (это со временем, минут так через 10, если не сбросить), на серваке гига 2, я думаю при вашем методе выгрузки памяти, я копий ну 40 спокой ну запущу, при ежесекундной очистке проаг весит от 2-10 метров Добавлено @ 23:13
Я этот метод как раз сейчас и заюзал и остался доволен. Всем спасибо. Репу немогу поднять никому, мало у меня еще постов ![]() Это сообщение отредактировал(а) _prishelec_ - 13.8.2010, 23:15 |
||||||||||||
|
|||||||||||||
VirusUZ |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 9.4.2010 Где: Узбекистан, Навои й обл. Репутация: -1 Всего: -2 |
--------------------
Virus |
|||
|
||||
gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: 5 Всего: 40 |
||||
|
||||
_prishelec_ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 24.11.2007 Репутация: нет Всего: нет |
||||
|
||||
gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: 5 Всего: 40 |
Что для подобных работ используются потоки. Но во многих случаях, этого мало (например если требуется разделение памяти), возможно и в вашем случае тоже, тогда используют домены приложения.
А запускать на каждую копию отдельный процесс - не кавайно!!! Подробнее про домены здесь. Добавлено через 9 минут Даже лучше вот отсюда начать http://msdn.microsoft.com/ru-ru/library/2bh4z9hs.aspx кроме того, у меня в мозгу как то не очень умещаются фразы:
как вы их сворачивать то будите??? тем более И самое главное, сервер это все таки стойка, а не ящик под ногами, а нормальная стойка попахивает уже не 40 копиями, а чуть побольше. |
|||
|
||||
_prishelec_ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 24.11.2007 Репутация: нет Всего: нет |
Ведется разработка проекта для взятия данных из биллинговых систем. У них используются высокотехнологичные фильтры, дабы отследить ботов. С потоками ен получиться, так как мозилловский движок висит в одном адресном пространстве и ипа удаление Куков и тд происходит для всех потоков, также если делать маскировку, типа менять заголовки запроса, тоже лажа – меняешь в одном потоке и меняются в остальных. Мной было перепробовано много вариантов.
В свое время система работала полностью на PHP (просто система из несколько отдельных частей), использовал мной написанный класс для CURL. Кста могу поделиться: cURL. Но нужна обработка DOM и т.д. В общем премудростей много, конечная цель: полная эмуляция браузера. Уже все решено и проект на завершающей стадии: Сворачивать уже ничего ненадо: Помог код:
Кста я погуглил и по статистике множество решений юзают: EmptyWorkingSet. Однажды каким-то макаром мне посоветовали вот это:. Только коллеги сильно не увлекайтесь, а то мозг напрягает до ужаса. Какая-то дребидень. Это сообщение отредактировал(а) _prishelec_ - 15.8.2010, 01:10 |
|||
|
||||
gambit |
|
||||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: 5 Всего: 40 |
|
||||
|
|||||
_prishelec_ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 24.11.2007 Репутация: нет Всего: нет |
Да я с доменами не был знаком до вашего поста. Сейчас курю инфу. Пока спасибо за инфу. А дальше видно будет ![]() Мне самомоу инетресно что получиться. То есть я смогу запускуть несколько копий прог под 1 домен и тд.? |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |