Be Aware: 4GB of VAS under WOW, does it really worth it?

By now you have heard a lot about the fact that under WOW a 32 bit process can get 4GB of VAS.   I agree this is great, but I would like you to be aware of something that might hit you really hard.  As it turns out enabling 4GB VAS can be problematic due to…

7

Be aware: To Hyper or not to Hyper

Our customers observed very interesting behavior on high end Hyperthreading (HT) enabled hardware. They noticed that in some cases when high load is applied SQL Server CPU usage increases significantly but SQL Server performance degrades. Occasionally they would also see message in errorlog indicating one of the threads can’t acquire a spinlock (Spinlock is a…

36

Be Aware: VirtualAlloc with MEM_RESERVE can fail even if you have plenty of VAS inside of the process

 Many developers assume that if you have plenty of free VAS in your process VirtualAlloc (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/memory/base/virtualalloc.asp) and VirtualAllocEx (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/memory/base/virtualallocex.asp) calls with MEM_RESERVE parameter can’t fail. This is not actually true.  Remember that when allocating VAS region OS creates VAD (Virtual Address Descriptor). VAD manages VAS region, for more info read http://blogs.msdn.com/slavao/archive/2005/01/27/361678.aspx. When system is low…

0

Be Aware: Using AWE, locked pages in memory, on 64 bit

We have already talked about Windows AWE mechanism on 32 bit and how SQL Server utilizes it. Today I would like to go over AWE & related mechanism on 64 bit platforms.   To some people it comes as a surprise that AWE mechanism is still present and actually could be useful on 64 bit…

10

Be Aware: IA64 Stack Size

Stack subject in Windows OS is fascinating. There are so many interesting technical problems surrounding it.  The moment you think you fully understand everything about stack you suddenly discover yet another mystery.  And so it goes.   In the last couple of weeks I have been approached by our testers and support engineers asking about for…

11

Be aware: FLS-Fiber Local Storage

Problem: In the last several months there were several publications describing usage of fibers.  When covering SQLOS’s scheduling I will go into more details about them. Today I would like to touch on the subject on how to make your dlls/libraries more robust in the fiber environment.   As you know, when running SQL server…

2

Be aware: a new section in my blog

Periodically, I bump into unusual behavior, features, of compiler, operating system, strange design and coding decisions made by someone else that makes me wonder. After giving it some thought, I often come to the conclusion that behavior or observed specifics are justifiable. However if I knew it upfront, It would have helped me to avoid…

2