Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Ресурсы, используемые программой Добавлено: 23.06.08 00:30  

Автор вопроса:  Александр
Знаю, что много раз обсуждалось, но не смог найти почему то темы. Народ, подскажите пожалуйста как можно (или нельзя) все-таки урезать пожираемые программой ресурсы, в частности размер используемой оперативной памяти, ну не может простая программка жрать 20 Мб оперативки!((. Спасибо.

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 23.06.08 23:08
Гы, может ))

Ответить

Номер ответа: 2
Автор ответа:
 __Pavel__



Вопросов: 29
Ответов: 284
 Web-сайт: ммм.сайта.НЕТ
 Профиль | | #2
Добавлено: 25.06.08 02:51
Не может! проги написанные на VB.NET резервируют гдето в 2 раза больше памяти чем нужно (прозапас) это с одной стороны хорошо, с другой плохо, когда нужно сделать "легкий проект", но предупреждаю!!! когда программе требуется больше памяти чем она уже занимает в ОЗУ требуется много времени (с точки зрения программирования) на обычных программа не должно отразиться... вот этот код скинет использование вашей программой оперативки на самый минимум:

    <;DllImport("kernel32.dll";)> _
Public Shared Function SetProcessWorkingSetSize(ByVal handle As IntPtr, ByVal minimumWorkingSetSize As Integer, ByVal maximumWorkingSetSize As Integer) As Boolean
    End Function

Использование:
SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1)

Ответить

Номер ответа: 3
Автор ответа:
 __Pavel__



Вопросов: 29
Ответов: 284
 Web-сайт: ммм.сайта.НЕТ
 Профиль | | #3
Добавлено: 25.06.08 02:53
пропустил =)

... требуется много времени для резервирования дополнительных ресурсов ...

Ответить

Номер ответа: 4
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #4
Добавлено: 25.06.08 08:03
Про запас - это миф. Просто фрамеворк очень прожорлив и для работы своего интерпретатора требует кучу памяти. Если установить этому процессу размер рабочей памяти, все, что не влезает, будет скидываться в своп, и жутко тормозить. Привыкайте.

Ответить

Номер ответа: 5
Автор ответа:
 Александр



Вопросов: 20
Ответов: 44
 Профиль | | #5 Добавлено: 25.06.08 08:49
Т.е. как я понял - выхода нет!?

Ответить

Номер ответа: 6
Автор ответа:
 __Pavel__



Вопросов: 29
Ответов: 284
 Web-сайт: ммм.сайта.НЕТ
 Профиль | | #6
Добавлено: 25.06.08 15:04
Про запас - это миф.


[url=http://www.gotdotnet.ru/DotNet/FAQ/CommonForum/Interop/524.aspx]Вот тут все написано![/url]

Т.е. как я понял - выхода нет!?


сделайте как я написал и все сами увидите, я использовал на своей проге НИЧЕГО не тормозило!

Ответить

Номер ответа: 7
Автор ответа:
 __Pavel__



Вопросов: 29
Ответов: 284
 Web-сайт: ммм.сайта.НЕТ
 Профиль | | #7
Добавлено: 25.06.08 15:04
[url=http://www.gotdotnet.ru/DotNet/FAQ/CommonForum/Interop/524.aspx]Вот тут все написано![/url]

О_о! а как тут ссылки добавлять?

Ответить

Номер ответа: 8
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #8
Добавлено: 25.06.08 19:51
Я же написал, что это миф. Популярный миф мифом быть не перестает.
НИЧЕГО не тормозило!

Нечему было тормозить. На любой более-менее сложной проге эффект был бы явно заметен.

Ответить

Номер ответа: 9
Автор ответа:
 __Pavel__



Вопросов: 29
Ответов: 284
 Web-сайт: ммм.сайта.НЕТ
 Профиль | | #9
Добавлено: 25.06.08 19:53
ну не может простая программка жрать 20 Мб оперативки!

речь идет не про высокопроизводительную БД =)

Ответить

Номер ответа: 10
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #10
Добавлено: 26.06.08 02:15
Спасибо большое! Все работает (без тормозов)!! Только чуть подправил...
    Public Declare Function SetProcessWorkingSetSize Lib "kernel32.dll" (ByVal handle As IntPtr, ByVal minimumWorkingSetSize As Integer, ByVal maximumWorkingSetSize As Integer) As Boolean

        SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, -1, -1)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам