Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the actual page size for a 32-bit process running on WOW64?

I know the default page size of a 32-bit process running on 32-bit Windows is 4K, whereas that of a 64-bit process running on 64-bit Windows is 8K. However, what is the actual page size of a 32-bit process running on 64-bit Windows (i.e. WOW64) ? 4K? 8K?

like image 727
xmllmx Avatar asked Dec 08 '22 17:12

xmllmx


2 Answers

Ideally, you should call GetSystemInfo() and examine SYSTEM_INFO.dwPageSize.

Btw, I doubt that you have 8KB pages in 64-bit Windows. x86/64 CPUs support pages of the following sizes: 4KB (all modes), 4MB (32-bit non-PAE), 2MB (32/64-bit PAE), 1GB (64-bit, always PAE). You can find this in the CPU manual from Intel (or AMD).

like image 57
Alexey Frunze Avatar answered Apr 06 '23 22:04

Alexey Frunze


The page size is still 4K - 1M pages at 4GB maximum addressable RAM memory

Virtual memory size. On the Intel Itanium processor, WOW64 adds significant overhead if two or more instances of the same 32-bit application are running concurrently. This is due to the native 8 KB pages on the Intel Itanium, which complicates the emulation of the native 4 KB pages on the x86 architecture (more pages are marked as writable; all writable pages are private to the process). This can adversely affect the scalability of Terminal Services on certain processors. This is not the case for the x64 processor.

Read more about WOW64 here

like image 27
Aniket Inge Avatar answered Apr 06 '23 23:04

Aniket Inge