Symptoms or Error
Users experience IMA Service leaking memory and heap expansion: ImaSrv.exe process consumes more than 100 MB. Sometimes it can be even 500 MB or 1.5 GB.
Solution
To detect the components responsible for memory leaks, the user should enable an additional runtime diagnostic called user mode stack trace database. If this diagnostic is enabled, an application dump should be generated manually when the IMA Service process has an unusual size.
First, you will probably need to download and install Debugging Tools for Windows from Microsoft to use the gflags.exe utility:
http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx
Use the following syntax to enable diagnostic:
gflags /i ImaSrv.exe +ust
The command should display:
Current Registry Settings for ImaSrv.exe executable are: 00001000
?? ?? ?? ?? ust - Create user mode stack trace database
If this diagnostic is enabled, an application dump should be generated manually when the IMA Service process has an unusual size or it constantly grows in size. For the latter case several dumps are necessary, for example, when IMA Service reaches 100 megabytes, then 200 megabytes and 300 megabytes.
To get IMA Service user dump you should use Microsoft userdump.exe tool:
http://support.microsoft.com/kb/241215
If you have x64 system you need to be careful about which version of userdump.exe you use:??
http://www.dumpanalysis.org/blog/index.php/2006/10/25/userdumpexe-on-x64/
Once you have the dump(s), the diagnostic should be disabled to avoid performance degradation.
To disable the diagnostic, use the following command:
gflags /i ImaSrv.exe -ust
This command should have the output:
Current Registry Settings for ImaSrv.exe executable are: 00000000
Another way is to use the graphical user interface by launching gflags.exe:
Note:?? You need to restart the IMA Service after enabling or disabling the diagnostic.
To verify that gflags.exe was used correctly, Citrix Technical Support personnel can open the dump in WinDbg.exe and run the command:
0:000> !gflag
Current NtGlobalFlag contents: 0x00001040
hpc - Enable heap parameter checking
ust - Create user mode stack trace database
Note: The “hpc” flag is added automatically, even if you have not specified it.
If you do not want to install Debugging Tools for Windows, you can modify the registry directly:
Caution! This fix requires you to edit the registry. Using Registry Editor incorrectly can cause serious problems that might require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ImaSrv.exe
You need to create a REG_DWORD value under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<processname> as follows:
Name: GlobalFlag
Type: REG_DWORD
Value: 0x00001000
More Information
If you need the diagnostics enabled for another application, replace ImaSrv.exe with your application name.
Problem Cause
Heap expansion (memory leak) results from some components not freeing dynamically allocated heap memory. Over time, it results in process growth in memory, slow operation, and eventually, application hang or crash.
Disclaimer
Supporto Citrix
Traduzione automatica
Questo articolo ?? ¨ stato tradotto da un sistema di traduzione automatica e non ?? ¨ stata valutata da persone. Citrix fornisce traduzione automatica per aumentare l'accesso per supportare contenuti; tuttavia, articoli automaticamente tradotte possono possono contenere degli errori. Citrix non ?? ¨ responsabile di incongruenze, errori o danni derivanti dell'uso di articoli automaticamente tradotte.
Citrix技術支持
自動翻譯
這篇文章被翻譯由一個自動翻譯系統,並沒有受到人們的審查。 Citrix提供自動翻譯,增加獲得支持的內容;但是,自動翻譯的文章可能可以包含錯誤。思傑不負責不一致,錯誤或損壞因使用自動翻譯的文章的結果。
Поддержка Citrix
Tradução automática
Эта статья была переведена автоматической системой перевода и не был рассмотрен людьми. Citrix обеспечивает автоматический перевод с целью расширения доступа для поддержки контента; Однако, автоматически переведенные статьи могут может содержать ошибки. Citrix не несет ответственности за несоответствия, ошибки, или повреждения, возникшие в результате использования автоматически переведенных статей.
시트릭스 지원
자동 번역
이 문서 자동 번역 시스템에 의해 번역 된 사람들에 의해 검토되지 않았다. 시트릭스는 컨텐츠를 지원하기 위해 접근을 높이기 위해 자동 번역을 제공합니다; 그러나, 자동으로 번역 기사 오류를 포함 할 수있다. 시트릭스는 자동으로 번역 된 기사의 사용의 결과로 발생하는 불일치, 오류 또는 손해에 대해 책임을지지 않습니다.