VBScript для запуска приложений COM + в очереди - утечка памяти - PullRequest
1 голос
/ 31 января 2011

У меня есть простой VBScript, который перебирает все приложения COM + и запускает те, которые стоят в очереди.Это проходит каждые полчаса.Мой сервер имеет 2,5 ГБ памяти.Затем, примерно через 3 дня, я получаю сообщение об ошибке «Недостаточно памяти» от Windows Script Host.Тем не менее, кажется, что память сервера в порядке.Свободно около 1 ГБ.

Вот так выглядит мой скрипт;

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 +, и они не очень большие.

Любая помощь здесь будет принята с благодарностью.

1 Ответ

1 голос
/ 03 февраля 2011

Я думаю, вам нужно:

Set app = Nothing
Set apps = Nothing
Set cat = Nothing

в конце вашего сценария.

См. http://support.microsoft.com/kb/304713 для примера того, как использовать объект COMAdmin.COMAdminCatalog.

...