Applies To: |
|
Summary: |
Citect may not perform correctly when
Processor Affinity is not set correctly. Only affects PC's with multi processor. Support have to manually gather information from customer each time. |
Solution: |
The Exception mailer version 1.4 has been
enhanced to gather PC processor information as shown below: 19/05/05-16:15:20 ***************************************************** 19/05/05-16:15:20 Exception Report (v1.4) 19/05/05-16:15:20 CITECT32 Size 2568254 Version 6.0 r1 (Debug) 19/05/05-16:15:20 OS Type XP Version 5.1 (Service Pack 2) 19/05/05-16:15:20 PageSize :4096 (0x00001000) 19/05/05-16:15:20 Processor.Number :2 (0x00000002) 19/05/05-16:15:20 Processor.ActiveMask :3 (0x00000003) 19/05/05-16:15:20 System.Affinity :3 (0x00000003) 19/05/05-16:15:20 Process.Affinity :3 (0x00000003) Note 1: not printed if Processor.Count =1 This sample log shows a computer with one hyperthreading processor (ie. 2 logical processors) . Citect is set to run on both processors, which is not recommended. See Q3781 to set the affinity to a single processor. Processor Information Description PageSize: Page size and the granularity of page protection and commitment. (Internal Use Only) Processor.Number Number of logical processors. 2 or more indicates multiple processors or hyperthreading is enabled Processor.ActiveMask Mask representing the set of processors configured into the system. Bit 0 is processor 0; bit 31 is processor 31. System.Affinity: is a bitmask representing which logical CPUs are present on the machine. In all current version of Windows, the logical CPUs are numbered 0, 1, 2, and so on. On a single physical CPU machine without hyper-threading, only the lower bit in systemAffinityMask will be set, resulting in the value 1. On a single physical CPU machine with hyper-threading, or a dual physical CPU machine without hyper-threading, both lower bits will be set, and systemAffinityMask will be 1+2=3. A dual physical CPU machine with hyper-threading would show systemAffinityMask as 1+2+4+8=15. Process.Affinity: process affinity mask would tell you how many logical CPUs are available to your process. Each bit in a binary value signifies a separate processor, numbered 0 to 31. For example, 0000 0000 0000 0000 0000 0000 0000 0101 indicates processors 0 and 2 are enabled but processor 1 is not in use. Only one bit should be set for ProcessAffinity for Citect. See KB Article Q3781 Permanently Setting the Processor Affinity for an Application in Windows NT or 2000 |
Keywords: |
Affinity, Processor, imagecfg |
Related Links
Attachments