Understanding VirtualAlloc usage using Windows Performance Analyzer

Slides:



Advertisements
Similar presentations
Understanding heap data Using Windows Performance Analyzer.
Advertisements

11 MONITORING MICROSOFT WINDOWS SERVER 2003 Chapter 3.
©2012 Microsoft Corporation. All rights reserved..
Check Disk. Disk Defragmenter Using Disk Defragmenter Effectively Run Disk Defragmenter when the computer will receive the least usage. Educate users.
Objective Familiarize you with the tools for app analysis.
Windows Performance Recorder HW-147T Building high quality Windows PCs using the assessment and deployment kit HW-915P Introduction to assessments.
Deploymen t Challenges configuration settings content management compliance standards configuration standards preserve user settings and files configuration.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Product Demo. Terminal Services Log By Acceleratio Acceleratio Ltd. is a software development company based in Zagreb, Croatia, founded in Technology.
Mark O’Shea | Microsoft MVP Windows Expert – IT Pro Introducing The Windows 8.1 Update.
Chapter 17: Watching Your System BAI617. Chapter Topics Working With Event Viewer Performance Monitor Resource Monitor.
Acceleratio Ltd. is a software development company based in Zagreb, Croatia, founded in We create innovative software solutions for SharePoint,
Windows Performance Lifecycle Windows Internals Windows Performance Toolkit Windows Assessment Services.
Demo Guidelines Lesson 9. Modules 9.1Demo Video Guidelines 9.2Begin Filming Pitch Video 9.3Continue working on prototype.
Linux Audio Mangler Project Design Presentation Yu Chong Hector Urtubia Tony Zuliani.
Windows Azure Conference 2014 Windows Azure AD – All about WAAD & integration with on- premises AD.
Suite zTPFGI Facilities. Suite Focus Three of zTPFGI’s facilities:  zAutomation  zTREX  Logger.
function Alpha() { Beta(); } function Beta() { } 30 ms 50 ms.
Suite zTPFGI Facilities. Suite Focus Three of zTPFGI’s facilities:  zAutomation  zTREX  Logger.
Microsoft-SAP Technology Center Proof-of-Concept and Demo Overview Mario Mendiola
Lesson 01: Introduction to Database Software. At the end of this lesson, students should be able to: State the usage of database software. Start a database.
Youngil Kim Awalin Sopan Sonia Ng Zeng.  Introduction  Concept of the Project  System architecture  Implementation – HDFS  Implementation – System.
Logoff (UserSession) Suspend System Hiberfile Write Shutdown Apps Service Notifications Service Notifications Suspend Services Suspend Devices.
Advanced Windows 8 Apps Using JavaScript Jump Start Exam Prep M6: Deployment Jeremy Foster Microsoft Developer Evangelist Michael Palermo Microsoft.
Pool Overview The Windows Pool has four basic allocation areas: Allocations that can be paged out of memory to the pagefile Paged Pool Allocations.
OU Campus User Training Tuesday, March 18,
WDK (Visual Studio add-on) Visual Studio “11” Ultimate Kernel-mode headers/libs Kernel debugger (engine and UI) Windows SDK Visual Studio Core.
Introduction to MDT 2012 User Driven Installs (UDI)
*Internet Explorer 9 or above is required for this assessment.
Sofia Event Center May 2014 Angel Todorov Principal Architect, Infragistics Inc. Debugging, Profiling and Optimizing Web Apps with IE11 – F12 Developer.
Rong Lu Senior Program Manager, Visual Studio GPU Usage tool in Visual Studio.
Application Migration Fritz Ohman Alphageek
Performance Optimization in Dynamics AX Chris Haley, Microsoft.
.NET Garbage Collection Performance Tips Sasha Goldshtein | SELA Group.
ECE ILLINOIS. ECE 445 Spring 2016 Smart closet Group 24 Luchuan Zhang Yiwei Li.
HW-147T Building high quality Windows PCs using the assessment and deployment kit HW-148P Scaling and extending Windows assessments to improve.
QlikView Sizing Walkthru - RAM. Total RAM on the QlikView Server One or more QlikView documents (QVWs) loaded on Server Unaggregated QVW data model QlikView.
Windows 7 Ultimate
Getting Started with the Windows SDK for Google Analytics
Leading Client. Leading Client Software Solution Banking Software Core Banking Software Cheque Personalization Software Queue Management Software CTS.
6/10/ :23 PM TOOL-504T A deep dive into Visual Studio 11 Express for designing Metro style apps using XAML Joanna Mason & Unni Ravindranathan Program.
An Overview of What’s New in Avaya IQ 5.0
Performance Sylvain Goyette Senior Program Manager WinHEC 2015
MONITORING MICROSOFT WINDOWS SERVER 2003
Introduction to Android

Reducing the memory footprint of drivers and apps
OPERATING SYSTEM OVERVIEW
Printers.
Windows 10 Windows 10 Customer Support Call At:
Mobile App ux/ ui design In High Quality.
Building my on-line store
PerfView Measure and Improve Your App’s Performance for Free
Michael Beck Principal Group Program Manager Microsoft Corporation
Introduction to Policies and Procedures Toolkit
Improving performance with the Windows Performance Toolkit
Requirements Presentation
Customizing WPA Trace Views
Introduction to the new WPA user interface
Ашық сабақ 7 сынып Файлдар мен қапшықтар Сабақтың тақырыбы:
Collaborative Collections
Windows басқару элементтері
MUST HAVE PASSENGER AND DRIVER TAXI APP FEATURES.
05 | Desktop Applications
Visual Studio Tooling Developer’s Guide to Windows 10
Қош келдіңіздер!.
5/16/2019 Windows Performance Jump Start Chell Sterioff Milad Aslaner Sr. Program Manager Premier Field Engineer Microsoft Corporation Microsoft.
Информатика пән мұғалімі : Аитова Карима.
ESTP Course on the EGR November 2015 Introduction.
7/31/2019 9:47 AM HW-148P Scaling and extending Windows assessments to improve system quality: Part 1 Patrick Azzarello Senior Program Manager Windows.
Presentation transcript:

Understanding VirtualAlloc usage using Windows Performance Analyzer 4/27/2017 7:15 AM HW-977P Understanding VirtualAlloc usage using Windows Performance Analyzer Joe Laughlin Principal SDE Microsoft Corporation © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Agenda VirtualAlloc Overview Demo: Collecting and Analyzing VirtualAlloc Data Guidelines and Best Practices Key Takeaways

VirtualAlloc Overview

VirtualAlloc Overview VirtualAlloc is used for large dynamic memory allocations Allocations are made directly via VirtualAlloc API Typical usage – Bitmaps, Buffers Key Concepts Reservation - Reserves an address range for usage but does not acquire memory resources Commit - Ensures that either physical memory or page file space will be available if the addresses are referenced Reference - Allocates a physical memory page

VirtualAlloc Data Collection and Analysis

VirtualAlloc Vocabulary General Metadata Reserve, Commit Flags – Flags passed to the VirtualAlloc APIs Basic Data Desired size – Requested size of a reservation or commit Commit/Reserve Lifetime – How long an allocation remains outstanding Committed/Reserved Actual – Amount of memory actually committed/reserved Stack – Stack corresponding to the allocation Address – Address corresponding to allocation Context: Transient – allocations with a short lifetime, measured in milliseconds Outstanding Committed/Reserved– allocations that remain alive at the point in time being investigated

Windows Performance Recorder UI Data Collection VirtualAlloc data is collected system wide and not restricted to a single process Steps Open Windows performance recorder UI Select Target application to be “Entire System” Select VAlloc Usage from the Memory Profiles Select scenario of Interest Click on ‘Start’ to start tracing and ‘Save’ to save the trace when done Windows Performance Recorder UI

WPA VirtualAlloc Analysis VirtualAlloc Cumulative Commit Count What is the total number of allocations alive at a given point in time? VirtualAlloc Cumulative Commit Size What is the total number of allocation to a particular point in time? VirtualAlloc Outstanding Commit Size What is the total size of allocations alive at a given point in time? VirtualAlloc Outstanding Commit Count What is the total number of allocations to a particular point in time?

Summary Table Raw data is exposed via summary tables Vocabulary Allocation lifetime is expressed based on the visible portion of the graph AIFO - Allocated inside, freed outside AIFI - Allocated inside, freed inside AOFO - Allocated outside, freed outside AOFI - Allocated outside, freed inside

Demo

Guidelines and Best Practices

Guidelines and Best Practices Approach Understand how dynamic memory allocations impact the VA space of a process Follow your allocation patterns – Transient and Steady state Guidance Reduce Number and size of outstanding allocations Total number of allocations Be judicious about what you Commit Ensure that scenario specific transient allocations are freed as soon as possible Avoid intermingling long lived allocations with short lived ones which can fragment VA space

Key Takeaways Concepts of Commit, Reserve and Reference Understand the VirtualAlloc usage of your component and utilize the tools to identify areas for optimization

For more information RELATED SESSIONS HW-59T Improving performance with the Windows Performance Toolkit HW-141T Reducing the memory footprint of drivers and apps HW-927P Understanding pool usage using Windows Performance Analyzer HW-928P Understanding heap data Using Windows Performance Analyzer HW-925P Customizing WPA Trace Views HW-926P Introduction to the new WPA User interface

thank you Feedback and questions http://forums.dev.windows.com Session feedback http://bldw.in/SessionFeedback

4/27/2017 7:15 AM © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.