locked
virtual address space(vas) RRS feed

  • Question

  • Hi all,

     what is the VAS and what is the use of VAS in ms sql server?

    what ls the  VAS size for 4GB,8GB,16GB in ms sql server?

    i red many tutorials and books for VAS.but i could not understand.

    anybody please give me simple explanation.

    Monday, July 1, 2013 10:26 AM

Answers

    • Proposed as answer by Fanny Liu Tuesday, July 2, 2013 11:11 AM
    • Marked as answer by Fanny Liu Monday, July 8, 2013 7:33 AM
    Monday, July 1, 2013 10:40 AM
    Answerer
  • From Book SQL server 2008 Internals and troubleshooting

    If all the processes running on a computer could only use addresses in physical memory, there would be a bottleneck in the system very quickly. They would all have to share the same range of addresses, which would be limited by the amount of RAM installed in the computer. As physical memory is very fast to access and cannot be increased indefinitely (as just discussed in the previous section) it's a resource that needs to be used efficiently.
    Windows (and many other mainstream, modern operating systems) assigns a virtual address space (VAS) to each process. This provides a layer of abstraction between an application and physical memory so that the operating system can choose the most efficient way to use physical memory across all the processes. For example, two different processes can both use the memory address 0xFFF because it's a virtual address and each process has its own VAS with the same address range.The size of the virtual address space is determined largely by the CPU architecture. A 32-bit CPU running 32-bit software (also known as the x86 platform) is so named because it is based on an architecture that can manipulate values that are up to 32 bits in length. This means that a 32-bit memory pointer can store a value between 0 and 4,294,967,295 to reference a memory address. This equates to a maximum addressable space of 4GB on 32-bit platforms.

    The 4GB of VAS is logically split into two ranges of 2GB: one for the process and one reserved for system use. These two ranges are commonly referred to as user mode and kernel mode address spaces With a default configuration, each application process (i.e., SQL Server) can access up to 2GB of VAS, and therefore 2GB of physical memory

    >>what ls the  VAS size for 4GB,8GB,16GB in ms sql server?

    VAS depends on architecture 32 bit can have Max of 2^32 4 GB VAS and 64 bit will have 2^64 bit VAS (almost infnite).


    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

    • Proposed as answer by Fanny Liu Tuesday, July 2, 2013 11:11 AM
    • Marked as answer by Fanny Liu Monday, July 8, 2013 7:35 AM
    Monday, July 1, 2013 11:01 AM

All replies

  • Hi all,

     what is the VAS and what is the use of VAS in ms sql server?

    what ls the  VAS size for 4GB,8GB,16GB in ms sql server?

    i red many tutorials and books for VAS.but i could not understand.

    anybody please give me simple explanation.

    • Merged by Fanny Liu Tuesday, July 2, 2013 11:10 AM duplicate
    Monday, July 1, 2013 10:24 AM
    • Proposed as answer by Fanny Liu Tuesday, July 2, 2013 11:11 AM
    • Marked as answer by Fanny Liu Monday, July 8, 2013 7:33 AM
    Monday, July 1, 2013 10:40 AM
    Answerer
  • From Book SQL server 2008 Internals and troubleshooting

    If all the processes running on a computer could only use addresses in physical memory, there would be a bottleneck in the system very quickly. They would all have to share the same range of addresses, which would be limited by the amount of RAM installed in the computer. As physical memory is very fast to access and cannot be increased indefinitely (as just discussed in the previous section) it's a resource that needs to be used efficiently.
    Windows (and many other mainstream, modern operating systems) assigns a virtual address space (VAS) to each process. This provides a layer of abstraction between an application and physical memory so that the operating system can choose the most efficient way to use physical memory across all the processes. For example, two different processes can both use the memory address 0xFFF because it's a virtual address and each process has its own VAS with the same address range.The size of the virtual address space is determined largely by the CPU architecture. A 32-bit CPU running 32-bit software (also known as the x86 platform) is so named because it is based on an architecture that can manipulate values that are up to 32 bits in length. This means that a 32-bit memory pointer can store a value between 0 and 4,294,967,295 to reference a memory address. This equates to a maximum addressable space of 4GB on 32-bit platforms.

    The 4GB of VAS is logically split into two ranges of 2GB: one for the process and one reserved for system use. These two ranges are commonly referred to as user mode and kernel mode address spaces With a default configuration, each application process (i.e., SQL Server) can access up to 2GB of VAS, and therefore 2GB of physical memory

    >>what ls the  VAS size for 4GB,8GB,16GB in ms sql server?

    VAS depends on architecture 32 bit can have Max of 2^32 4 GB VAS and 64 bit will have 2^64 bit VAS (almost infnite).


    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

    • Proposed as answer by Fanny Liu Tuesday, July 2, 2013 11:11 AM
    • Marked as answer by Fanny Liu Monday, July 8, 2013 7:35 AM
    Monday, July 1, 2013 11:01 AM
  • Hello! Read this article about it:

    http://sqlblog.com/blogs/jonathan_kehayias/archive/2009/07/07/understanding-the-vas-reservation-aka-memtoleave-in-sql-server.aspx


    Regards,

    André César Rodrigues

    Please click the Mark as answer button and vote as helpful if this reply solves your problem. Thanks!

    Blog: http://sqlmagu.blogspot.com.br  LinkedIn:   

    Monday, July 1, 2013 11:12 AM
  • Thanks shanky.

    very good article.

    Wednesday, January 29, 2014 6:25 PM