Home > Citrix, Edgesight, Microsoft, Windows 2008, XenApp, XenDesktop > Citrix Edgesight 5.2 vs Memory Allocation within WOW64

Citrix Edgesight 5.2 vs Memory Allocation within WOW64

xenapp

Recently we started evaluating Citrix Edgesight, on a enviroment we are currently building, consisting of XenApp5 2008 x64 and XenDesktop 4 Farms.

After the installation of the EdgeSight agent, suddenly a bunch of applications running within a Java Virtual machine stopped functioning. Throwing the “Could not launch the java virtual machine” error.
These Java apps tried allocating quite some memory using these java arguments (eg: XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=35 -XX:NewRatio=2″   initial-heap-size=”32m” max-heap-size=”1024m”)

After some investigation a colleague (Hugo Trippaers) found out that there was only 0,9 GB of memory allocatable on our Citrix XenApp machines using the memtest32.exe tool. While our other servers happily reported 1,5 GB of allocatable memory (Within WOW64). (Physical Machine = HP DL380G6 with 48 GB of memory, uh should be enough?)

After some deeper digging using memalloc.exe, I discover some substantial differences in memory allocation between our XenApp Servers with the edgesight agent installed and servers without the EdgeSight agent.

XenApp servers with Edgesight Agent 5.2 SP1 x64: memalloc.exe with edgesight
XenApp Servers without edgesight: memalloc.exe – without edgesight

The main difference here is all the Citrix hooks being loaded, see below.
This apparently consumes so much memory that it was not possible for java to allocate enough memory.

For more insights on WOW64 look here:  http://blogs.msdn.com/gauravseth/archive/2006/04/26/583963.aspx

By default 32bit applications within WOW64 can leverage the full 4 GB of memory availlable, which is not possible on a native 32 bit system because of the separation of kernel and user space.
Applications need to be compiled with /largaddressaware (Visual Studio : http://msdn.microsoft.com/en-us/library/wz223b1z(VS.80).aspx) or patched using editbin (http://bilbroblog.com/wow64/hidden-secrets-of-w0w64-ndash-large-address-space/), to fully use the 4 GB availlable otherwise they can only allocate 1,6 GB of memory.

We will open a case with Citrix on this; to be continued.

Citrix hooks being loaded when edgesight is installed:

Address 61200000, length 1000, state 1000 MEM_COMMIT, type 1000000 module e:\program files\EdgeSight\Agent\Agent\Core\rsintcor32.dll
Address 61201000, length 18000, state 1000 MEM_COMMIT, type 1000000 module e:\program files\EdgeSight\Agent\Agent\Core\rsintcor32.dll
Address 61219000, length 9000, state 1000 MEM_COMMIT, type 1000000 module e:\program files\EdgeSight\Agent\Agent\Core\rsintcor32.dll
Address 61222000, length 1000, state 1000 MEM_COMMIT, type 1000000 module e:\program files\EdgeSight\Agent\Agent\Core\rsintcor32.dll
Address 61223000, length 4000, state 1000 MEM_COMMIT, type 1000000 module e:\program files\EdgeSight\Agent\Agent\Core\rsintcor32.dll
Address 61300000, length 1000, state 1000 MEM_COMMIT, type 1000000 module e:\program files\edgesight\agent\agent\edgesight\esint32.dll
Address 61301000, length 8000, state 1000 MEM_COMMIT, type 1000000 module e:\program files\edgesight\agent\agent\edgesight\esint32.dll
Address 61309000, length 3000, state 1000 MEM_COMMIT, type 1000000 module e:\program files\edgesight\agent\agent\edgesight\esint32.dll
Address 6130c000, length 1000, state 1000 MEM_COMMIT, type 1000000 module e:\program files\edgesight\agent\agent\edgesight\esint32.dll
Address 6130d000, length 2000, state 1000 MEM_COMMIT, type 1000000 module e:\program files\edgesight\agent\agent\edgesight\esint32.dll
Address 67f60000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\CtxSbxHook.DLL
Address 67f61000, length 58000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\CtxSbxHook.DLL
Address 67fb9000, length a000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\CtxSbxHook.DLL
Address 67fc3000, length 4000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\CtxSbxHook.DLL
Address 67fc7000, length 7000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\CtxSbxHook.DLL
Address 6db20000, length 1000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\MSVCR90.dll
Address 6db21000, length 96000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\MSVCR90.dll
Address 6dbb7000, length 1000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\MSVCR90.dll
Address 6dbb8000, length 2000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\MSVCR90.dll
Address 6dbba000, length 4000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\MSVCR90.dll
Address 6dbbe000, length 5000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2\MSVCR90.dll
Address 751e0000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\twnhook.dll
Address 751e1000, length c6000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\twnhook.dll
Address 752a7000, length 3000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\twnhook.dll
Address 752aa000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\twnhook.dll
Address 752ab000, length e000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\twnhook.dll
Address 752b9000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\twnhook.dll
Address 752ba000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\twnhook.dll
Address 752bb000, length 6000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\twnhook.dll
Address 752c1000, length 5000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\twnhook.dll
Address 75320000, length 1000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4016_none_d0893820442e7fe4\MSVCR80.dll
Address 75321000, length 63000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4016_none_d0893820442e7fe4\MSVCR80.dll
Address 75384000, length 2b000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4016_none_d0893820442e7fe4\MSVCR80.dll
Address 753af000, length 1000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4016_none_d0893820442e7fe4\MSVCR80.dll
Address 753b0000, length 1000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4016_none_d0893820442e7fe4\MSVCR80.dll
Address 753b1000, length 1000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4016_none_d0893820442e7fe4\MSVCR80.dll
Address 753b2000, length 1000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4016_none_d0893820442e7fe4\MSVCR80.dll
Address 753b3000, length 3000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4016_none_d0893820442e7fe4\MSVCR80.dll
Address 753b6000, length 5000, state 1000 MEM_COMMIT, type 1000000 module C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4016_none_d0893820442e7fe4\MSVCR80.dll
Address 753c0000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\scardhook.dll
Address 753c1000, length 1d000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\scardhook.dll
Address 753de000, length 4000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\scardhook.dll
Address 753e2000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\scardhook.dll
Address 753e3000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\scardhook.dll
Address 753e4000, length 3000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\scardhook.dll
Address 753f0000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\wdmaudhook.dll
Address 753f1000, length 2000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\wdmaudhook.dll
Address 753f3000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\wdmaudhook.dll
Address 753f4000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\wdmaudhook.dll
Address 753f5000, length 2000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\wdmaudhook.dll
Address 75400000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\System32\cxinjime.dll
Address 75401000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\System32\cxinjime.dll
Address 75402000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\System32\cxinjime.dll
Address 75403000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\System32\cxinjime.dll
Address 75404000, length 2000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\System32\cxinjime.dll
Address 75420000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\Sfrhook.dll
Address 75421000, length 2000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\Sfrhook.dll
Address 75423000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\Sfrhook.dll
Address 75424000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\Sfrhook.dll
Address 75425000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\Sfrhook.dll
Address 75426000, length 2000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\Sfrhook.dll
Address 75430000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\mmhook.dll
Address 75431000, length f000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\mmhook.dll
Address 75440000, length 2000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\mmhook.dll
Address 75442000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\mmhook.dll
Address 75443000, length 3000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\mmhook.dll
Address 75450000, length 1000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\mfaphook.dll
Address 75451000, length 2c000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\mfaphook.dll
Address 7547d000, length 9000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\mfaphook.dll
Address 75486000, length 4000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\mfaphook.dll
Address 7548a000, length 4000, state 1000 MEM_COMMIT, type 1000000 module E:\program files\Citrix\system32\mfaphook.dll

  • Share/Bookmark
  1. No comments yet.
  1. No trackbacks yet.