У меня есть простой VBScript, который выполняет итерацию через все приложения COM + и запускает очереди. Это работает каждые полчаса. Мой сервер имеет 2,5 ГБ памяти. Затем, примерно через 3 дня, я получаю сообщение об ошибке «Недостаточно памяти» из Windows Script Host. Однако, похоже, память сервера прекрасна. Около 1gb бесплатно.VBScript для запуска в очередь COM + приложений - утечка памяти
Это то, что выглядит мой сценарий;
dim cat
Dim apps
Dim app
set cat = CreateObject ("COMAdmin.COMAdminCatalog")
set apps = cat.getcollection("Applications")
apps.populate
for each app in apps
if app.Value("QueuingEnabled") then
cat.StartApplication (app.name)
end if
next
Последний раз, когда я получил эту ошибку, он сообщил строку # 7; set apps = cat.getcollection("Applications")
как место, где закончилось память. У кого-нибудь есть предложения по устранению этой проблемы? У меня очень мало опыта работы с COM +, поэтому мне трудно понять, что здесь потребляет память. На сервере работает только около 8 приложений COM +, и они совсем не большие.
Любая помощь здесь будет принята с благодарностью.
Я только что узнал, что я позволил запустить «procmon», вот что это было. Однако объявления «ничего» - хорошие привычки, я дам вам ответ здесь:] – cc0
См. «Эрик Липперт» [Когда вам нужно установить объекты ни к чему?] (Http://blogs.msdn.com/b/ericlippert /archive/2004/04/28/122259.aspx) для интересного обсуждения практики 'Set var = Nothing'. Удивительный ответ: почти никогда. –