Technical Blog Post
ITM Agent Insights: Migrating ITM agents from 32-bit to 64-bit on Windows
IBM Tivoli Monitoring ships both 32-bit and 64-bit monitoring agents for Windows platforms.
Depending on the version of ITM package used, some specific agents are available as both a 32-bit (WINNT) and a 64-bit (WIX64) version.
The Windows OS agent - NT, and Log File Agent - LO, are two examples that are available as both 32-bit and 64-bit agents.
The 64-bit LO agent first shipped with 6.3 FP2 Log File Agent image:
IBM Tivoli Monitoring 6.3.0 Fix Pack 2 (6.3.0-TIV-ITM-FP0002)
The recommendation is to install the 64-bit monitoring agent on 64-bit Windows platforms if it is available to avoid known issues when using 32-bit API calls / WMI calls on 64-bit Windows OS.
For Windows OS agent - NT - running 32-bit WINNT monitoring agent on 64-bit Windows OS can result in CPU spikes reported against wmiprvse.exe process.
This occurs when the 32-bit process interfaces with WMI and makes calls to the EnumProcessModules API, which can result in error 299.
If the EnumProcessModules API function is called from a 32-bit application running on WOW64, it can only enumerate the modules of a 32-bit process.
If the process is a 64-bit process, this function fails and the last error code is ERROR_PARTIAL_COPY (299).
One of the side effects, is CPU consumption under WMI process wmiprvse.exe.
For Log File Agent - LO - running 32-bit WINNT monitoring agent on 64-bit Windows platforms can result in performance and other issues covered by following defects:
APAR IV79204 - LOGS RE-READ FROM THE BEGINNING WHEN DAYLIGHT SAVING TIME (DST) ENDS
APAR IV76731 - UNABLE TO RENAME FILE WHICH IS BEING MONITORED BY ITM LOG FILE AGENT
APAR IV77403 - WINDOWS EVENT LOG EVENTS ARRIVED DELAYED WHEN NUMEVENTSTOCATCHUP IS USED
To confirm whether the 32-bit or 64-bit version of a monitoring agent is installed, gather "pdcollect" output from the Windows endpoint, and review the contents of "cinfo.info" to identify if there are 32-bit monitoring agent components installed (WINNT), or if the monitoring agents are 64-bit (WIX64).
Confirm whether the operating system is 32-bit or 64-bit by looking at the "system.info" file.
If a 64-bit Windows OS is running 32-bit NT or LO agent and experiencing CPU or other performance issues, the first recommendation will be to remove the 32-bit agent and replace it with the 64-bit agent.
*NOTE* It is not possible to migrate directly from 32-bit install to a 64-bit install on Windows, you have to first remove the 32 bit installation and then install the 64 bit on a clean system starting with the licensed base level, and then applying any update to the OS agent, or installing other ITM agent packages.
This is due to ITM installation relying on InstallShield and Microsoft Software Installer (MSI) components, and how 64-bit Windows operating system contains both a 32-bit and 64-bit registry.
Previously documented in DCF 1258544
On 64-bit machines running x64 Microsoft Operating Systems, there are actually 2 registries - A 32-bit registry and a 64-bit registry.
Code written in 64-bit mode has access to either registry.
Code written in 32-bit mode, does NOT have native access to the 64-bit registry without specific modification. In native mode, 32-bit code can only access the 32-bit registry.
The Microsoft Installer, which is used to install ITM, has access to both 64-bit and 32-bit registries. This results in ITM Install information residing in both the 32-bit and 64-bit registries.
The Install Code uses InstallShield script in 32-bit mode but the compiler used does not support 64-bit registry access.
The result is that the Install Code does not have access to the 64-bit registry, which requires uninstall to remove references in order to migrate from 32-bit to 64-bit agent.
To perform a complete removal of ITM components on WIndows, use the ITMRmvAll.exe utility. Contact IBM Support to get copy of the latest version of this utility.
When performing clean install from the 64-bit agent package, if the environment must support a mix of 32-bit and 64-bit agents, it is necessary to install the "32/64 Bit Agent Compatibility Package" component - AC - to allow for mixed environments of 32-bit and 64-bit agents in a single CANDLE_HOME.
The AC component should be the first component installed.
Then the Windows OS monitoring agent - NT - component should be installed. It is recommended to install the 64-bit NT agent on 64-bit Windows platforms, but other non-OS agents may only be available in 32-bit.
Reference DCF technotes:
DCF 1258544 - Windows 32bit versus 64bit
DCF 1590992 - Manual removal / uninstall for Windows platforms
DCF 1599081 - Multiple versions of ITMRmvAll.exe tool
Additional ITM Agent Insights series of IBM Tivoli Monitoring Agent blogs are indexed under ITM Agent Insights: Introduction.
Subscribe and follow us for all the latest information directly on your social feeds:
Check out all our other posts and updates: