SlideShare a Scribd company logo
1 of 58
Memory Profiler
Ram
Project Engineer
Agenda
Why we need to use Memory Profiler
Basic Under Standing Of CLR
What is Garbage Collection
Basic understanding of Memory Profiler
How to fix Memory Leaks
Pre .NET Application Execution
VB6
Non.Net Application
VB6 Compiler
Assembly(.DLL or .EXE)
(Native Code or Machine Code)
Operating System
.NET Application Execution
.NET Application
C# VB C++ J# Others
Compile Using Respective Language Compiler
Assembly(.dll,.exe) – Intermediate Language
Intermediate Language
JIT Compiler
Native Code
C
L
R
Operating System
.NET Application Execution
.NET Framework Version CLR Version
• 1.0 • 1.0
• 1.1 1.1
2.0,3.0,3.5 2.0
4,4.5,4.6 4
IS .NET Platform Independent ?
Major Features of CLR
• Platform Compatibility ??
• Memory Management
Memory Management
Stack Heap
Class Person
{
string Name;
int Age;
}
Memory Management
Stack Heap
Static void main()
{
Person p;
}
Memory Management
Stack Heap
Static void main()
{
Person p;
}
P
Memory Management
Stack Heap
Static void main()
{
new person();
}
Memory Management
Stack Heap
Static void main()
{
new person();
}
Person
Name: null
Age:0
Memory Management
Stack Heap
Static void main()
{
person p;
new person();
}
Memory Management
Stack Heap
Static void main()
{
person p;
new person();
}
Person
Name: null
Age:0
P
Memory Management
Stack Heap
Static void main()
{
person p= new person();
}
Memory Management
Stack Heap
Static void main()
{
person p=new person();
}
Person
Name: null
Age:0
P 0X123456
Memory Management
Stack Heap
Class Person
{
string Name;
int Age;
person(string Name, string Age)
{
this.Name=Name; this.Age=Age;
}
Memory Management
Stack Heap
Static void main()
{
person p= new person(ramesh,22);
}
Memory Management
Stack Heap
Static void main()
{
person p=new person(Ramesh,22);
}
Person
Name: Ramesh
Age:22
P 0X123456
Memory Management
Stack Heap
Static void main()
{
person p=new person(Ramesh,22);
person p1=new person(Ram,22);
}
Memory Management
Stack Heap
Static void main()
{
person p=new person(Ramesh,22);
person p1=new person(Ram,22);
}
Person
Name: Ramesh
Age:22
P 0X123456
P1 0X123987
Person
Name: Ram
Age:22
Memory Management
Stack Heap
Static void main()
{
person p=new person(Ramesh,22);
person p=new person(Ram,22);
}
Memory Management
Stack Heap
Static void main()
{
person p=new person(Ramesh,22);
p=new person(Ram,22);
}
Person
Name: Ramesh
Age:22
P 0X123456
Memory Management
Stack Heap
Static void main()
{
person p=new person(Ramesh,22);
p=new person(Ram,22);
}
Person
Name: Ramesh
Age:22
P 0X777777
Person
Name: Ram
Age:22
Memory Management
Garbage Collector
Memory Management
Stack Heap
Static void main()
{
person p=new person(Ramesh,22);
p=new person(Ram,22);
}
Person
Name: Ramesh
Age:22
P 0X123456
Person
Name: Ram
Age:22
Garbage Collector Runs
Memory Management
Stack Heap
Static void main()
{
person p=new person(Ramesh,22);
p=new person(Ram,22);
}
P 0X123456
Person
Name: Ram
Age:22
Memory Management
.NET Manages Memory Automatically
• Creates objects onto managed memory Blocks
• Destroys Objects No Longer in Use
Memory Management
.NET Manages Memory Automatically
• Creates objects onto managed memory Blocks
• Destroys Objects No Longer in Use
Allocates objects onto one of two heaps
• Small object Heap(SOH)- Objects <85k
• Large object Heap(LOH)- Objects >=85k
Memory Management
Stack Heap
Static void main()
{
person p=new person(Ramesh,22);
}
Person
Name: Ramesh
Age:22
P 0X123456
Memory Management
Stack SOH(<85k)
Static void main()
{
person p=new person(Ramesh,22);
}
Person
Name: Ramesh
Age:22
P 0X123456
LOH(>85K)
Memory Management
Stack SOH(<85k) LOH(>85K)
Heap
Gen0
Gen1
Gen2
Gen2
Memory Management
Stack SOH(<85k) LOH(>85K)
Heap
Gen0
Gen1
Gen2
Gen2
obj1 obj2
Memory Management
Stack SOH(<85k) LOH(>85K)
Heap
Gen0
Gen1
Gen2
Gen2
obj1 obj2
Memory Management
Stack SOH(<85k) LOH(>85K)
Heap
Gen0
Gen1
Gen2
Gen2
obj1
Memory Management
Stack SOH(<85k) LOH(>85K)
Heap
Gen0
Gen1
Gen2
Gen2
obj1
Memory Management
Stack SOH(<85k) LOH(>85K)
Heap
Gen0
Gen1
Gen2
Gen2
obj1
Memory Management
Stack SOH(<85k) LOH(>85K)
Heap
Gen0
Gen1
Gen2
Gen2
obj1
Memory Management
Stack SOH(<85k) LOH(>85K)
Heap
Gen0
Gen1
Gen2
Gen2
obj1
Memory Management
GC Runs When
• Gen 0 Objects Reach ~256k
• Gen 1 Objects Reach ~2Meg
• Gen 2 Objects Reach ~10Meg
Memory Management
Stack SOH(<85k) LOH(>85K)
Heap
Gen0(256k)
Gen1(2Mb)
Gen2(10Mb)
Gen2
Memory Problems
Excessive RAM Footprint
• App allocates memory too early or too long
using more memory than needed
• Can Affect other Apps on the System
Excessive Temporary Object Allocation
• Garbage Collection Runs More Frequently
• Executing threads freeze during Garbage
Collection
Memory Leak
Overlooked root references keep objects alive
Memory Problems
Memory Problems
Memory Problems
RECAP
•Pre .NET Execution of Application
•.NET Execution of Application
•What is CLR.
•Different types of Memory (Stack, Heap)
•Garbage Collection
•Gen 0,Gen 1,Gen 2
•Memory Problems
•What to Look For
Memory Profiling and .NET Memory Profiler
• What is Memory Profiling?
• What is .NET memory profiler?
• How to use .NET memory profiler?
• How to find memory leaks?
• Automatic Memory Analysis
What is .NET memory profiler?
.NET Memory Profiler is a powerful tool for finding
memory leaks and optimizing the memory usage in
programs written in C#, VB.NET or any other .NET
Language.
This tool will not fix any memory leaks or bad memory
consumption issues, but will analyze the running
application code and provide results that will be helpful for
us to fix memory issues and to code accordingly.
How to use .NET memory profiler?
To profile the memory of an application perform the
following steps:
1. Select the Profile Application command from the menu or toolbar.
2. Use the Browse button or the drop-down list to select the
executable file of the application you want to profile.
3. If you want to supply program arguments, enter the command
line in the Command line arguments field.
4. If you want to profile using the default settings, click Start to start
the application.
5. If you want to modify settings, you can use the Next button to
modify some common settings.
6. When you have decided on the settings, click Start to start the
application.
How to use .NET memory profiler?
For analysing the real - time data, check real – time data box on right
panel.
Below is the Total instances, Total bytes and Allocations/sec data of
VLEX captured in Real time:
How to find memory leaks?(Manual)
To find the memory leak manually, you can perform the
following steps:
1. Start profiling the application
2. Perform the task you suspect are leaking memory (e.g., open a
document, work with it, and then close it).
This will make sure that all static instances are created.
3. Collect a heap snapshot.(For doing so, click on the camera button
on the right panel)
4. Repeat the task performed under step 2.
5. Collect another heap snapshot.
6. Use the Show types drop-down list to select “With New or
Removed Instances” to show types whose set of instances has
changed between the two snapshots.
How to find memory leaks?(Manual)
7. To Select the Types page and try to locate a type that has live
instances that should have been collected.
If no memory leak exists, the instances shown in the Types page should
only be short-lived instances that have not been garbage collected yet.
If a memory leak exists, you should be able to find a type with new
instances that should have been garbage collected.
How to find memory leaks?(Manual)
8. Double-click on the type that has live instances that should have been
9. In the Instances table, double-click on one of the new instances.
10. In the Root path table you will get information about why the
selected instance was not garbage collected.
Automatic Memory Analysis
Whenever a new snapshot comparison has been
performed, e.g., after collecting a snapshot or changing
the selected or comparison snapshot, .NET Memory
Profiler will start analysing the memory data.
As soon as the analysis is finished, any found issues will be
presented in info panels under the Types/Resources page,
the Type details page, and the Instance details page.
An example of summary issues presented in the info panel
under the Types/Resources page can be seen below:
Automatic Memory Analysis
Automatic Memory Analysis
The issues presented provide warnings, suggestions, and
information about common memory usage problems. The
severity of an issue is
 Serious Warning : A serious warning indicates an issue that could,
with a high probability, cause memory usage problems, such as memory
or resource leaks.
 Warning: A warning indicates an issue that could cause memory
usage problems, such as memory or resource leaks.
 Minor Warning: A minor warning indicates an issue that could cause
bad memory or resource utilization, but it should not cause problems
like memory leaks.
 Indirect Warning: An indirect warning indicates an issue that is
caused by another warning issue. The issue will contain information
about the issue that causes the direct warning.
Ram
Thank You

More Related Content

What's hot

Asegúr@IT IV - Remote File Downloading
Asegúr@IT IV - Remote File DownloadingAsegúr@IT IV - Remote File Downloading
Asegúr@IT IV - Remote File DownloadingChema Alonso
 
Why is the application running so slowly?
Why is the application running so slowly?Why is the application running so slowly?
Why is the application running so slowly?Michael Rosenblum
 
CIS 336 Inspiring Innovation/tutorialrank.com
CIS 336 Inspiring Innovation/tutorialrank.comCIS 336 Inspiring Innovation/tutorialrank.com
CIS 336 Inspiring Innovation/tutorialrank.comjonhson111
 
SQL injection exploitation internals
SQL injection exploitation internalsSQL injection exploitation internals
SQL injection exploitation internalsBernardo Damele A. G.
 
Sql injection with sqlmap
Sql injection with sqlmapSql injection with sqlmap
Sql injection with sqlmapHerman Duarte
 
SQL injection: Not Only AND 1=1 (updated)
SQL injection: Not Only AND 1=1 (updated)SQL injection: Not Only AND 1=1 (updated)
SQL injection: Not Only AND 1=1 (updated)Bernardo Damele A. G.
 
Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9sumsid1234
 
JProfiler8 @ OVIRT
JProfiler8 @ OVIRTJProfiler8 @ OVIRT
JProfiler8 @ OVIRTLiran Zelkha
 
Chapter 12 - File Input and Output
Chapter 12 - File Input and OutputChapter 12 - File Input and Output
Chapter 12 - File Input and OutputEduardo Bergavera
 
CIS 336 Education guide/Tutorialrank.com
CIS 336 Education guide/Tutorialrank.comCIS 336 Education guide/Tutorialrank.com
CIS 336 Education guide/Tutorialrank.comtyjhgfsdfgh
 
ShmooCon 2009 - (Re)Playing(Blind)Sql
ShmooCon 2009 - (Re)Playing(Blind)SqlShmooCon 2009 - (Re)Playing(Blind)Sql
ShmooCon 2009 - (Re)Playing(Blind)SqlChema Alonso
 
Lecture 1 sql {installation &amp; uninstallation}
Lecture 1 sql {installation &amp; uninstallation}Lecture 1 sql {installation &amp; uninstallation}
Lecture 1 sql {installation &amp; uninstallation}Shubham Shukla
 
sqlmap - security development in Python
sqlmap - security development in Pythonsqlmap - security development in Python
sqlmap - security development in PythonMiroslav Stampar
 
Mini Session - Using GDB for Profiling
Mini Session - Using GDB for ProfilingMini Session - Using GDB for Profiling
Mini Session - Using GDB for ProfilingEnkitec
 
Java căn bản - Chapter12
Java căn bản - Chapter12Java căn bản - Chapter12
Java căn bản - Chapter12Vince Vo
 
Oracle Diagnostics : Locks and Lock Trees
Oracle Diagnostics :  Locks and Lock TreesOracle Diagnostics :  Locks and Lock Trees
Oracle Diagnostics : Locks and Lock TreesHemant K Chitale
 
Data Summer Conf 2018, “Hands-on with Apache Spark for Beginners (ENG)” — Akm...
Data Summer Conf 2018, “Hands-on with Apache Spark for Beginners (ENG)” — Akm...Data Summer Conf 2018, “Hands-on with Apache Spark for Beginners (ENG)” — Akm...
Data Summer Conf 2018, “Hands-on with Apache Spark for Beginners (ENG)” — Akm...Provectus
 

What's hot (20)

Heap & thread dump
Heap & thread dumpHeap & thread dump
Heap & thread dump
 
Asegúr@IT IV - Remote File Downloading
Asegúr@IT IV - Remote File DownloadingAsegúr@IT IV - Remote File Downloading
Asegúr@IT IV - Remote File Downloading
 
Why is the application running so slowly?
Why is the application running so slowly?Why is the application running so slowly?
Why is the application running so slowly?
 
CIS 336 Inspiring Innovation/tutorialrank.com
CIS 336 Inspiring Innovation/tutorialrank.comCIS 336 Inspiring Innovation/tutorialrank.com
CIS 336 Inspiring Innovation/tutorialrank.com
 
SQL injection exploitation internals
SQL injection exploitation internalsSQL injection exploitation internals
SQL injection exploitation internals
 
Sql injection with sqlmap
Sql injection with sqlmapSql injection with sqlmap
Sql injection with sqlmap
 
SQL injection: Not Only AND 1=1 (updated)
SQL injection: Not Only AND 1=1 (updated)SQL injection: Not Only AND 1=1 (updated)
SQL injection: Not Only AND 1=1 (updated)
 
Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9Hacking Oracle From Web Apps 1 9
Hacking Oracle From Web Apps 1 9
 
JProfiler8 @ OVIRT
JProfiler8 @ OVIRTJProfiler8 @ OVIRT
JProfiler8 @ OVIRT
 
Chapter 12 - File Input and Output
Chapter 12 - File Input and OutputChapter 12 - File Input and Output
Chapter 12 - File Input and Output
 
CIS 336 Education guide/Tutorialrank.com
CIS 336 Education guide/Tutorialrank.comCIS 336 Education guide/Tutorialrank.com
CIS 336 Education guide/Tutorialrank.com
 
ShmooCon 2009 - (Re)Playing(Blind)Sql
ShmooCon 2009 - (Re)Playing(Blind)SqlShmooCon 2009 - (Re)Playing(Blind)Sql
ShmooCon 2009 - (Re)Playing(Blind)Sql
 
Lecture 1 sql {installation &amp; uninstallation}
Lecture 1 sql {installation &amp; uninstallation}Lecture 1 sql {installation &amp; uninstallation}
Lecture 1 sql {installation &amp; uninstallation}
 
sqlmap - security development in Python
sqlmap - security development in Pythonsqlmap - security development in Python
sqlmap - security development in Python
 
Sql killedserver
Sql killedserverSql killedserver
Sql killedserver
 
Mini Session - Using GDB for Profiling
Mini Session - Using GDB for ProfilingMini Session - Using GDB for Profiling
Mini Session - Using GDB for Profiling
 
Java căn bản - Chapter12
Java căn bản - Chapter12Java căn bản - Chapter12
Java căn bản - Chapter12
 
Corruptbkp
CorruptbkpCorruptbkp
Corruptbkp
 
Oracle Diagnostics : Locks and Lock Trees
Oracle Diagnostics :  Locks and Lock TreesOracle Diagnostics :  Locks and Lock Trees
Oracle Diagnostics : Locks and Lock Trees
 
Data Summer Conf 2018, “Hands-on with Apache Spark for Beginners (ENG)” — Akm...
Data Summer Conf 2018, “Hands-on with Apache Spark for Beginners (ENG)” — Akm...Data Summer Conf 2018, “Hands-on with Apache Spark for Beginners (ENG)” — Akm...
Data Summer Conf 2018, “Hands-on with Apache Spark for Beginners (ENG)” — Akm...
 

Viewers also liked

物件導向設計原則:SOLID + DI
物件導向設計原則:SOLID + DI物件導向設計原則:SOLID + DI
物件導向設計原則:SOLID + DIJeff Chu
 
Facebook 建置班_羅浮DOC
Facebook 建置班_羅浮DOCFacebook 建置班_羅浮DOC
Facebook 建置班_羅浮DOC基欽 劉
 
經管班分享
經管班分享經管班分享
經管班分享基欽 劉
 
Qlync RD 第三屆讀書會候選清單
Qlync RD 第三屆讀書會候選清單Qlync RD 第三屆讀書會候選清單
Qlync RD 第三屆讀書會候選清單Li-Wei Yao
 
Design Patterns in Luster
Design Patterns in LusterDesign Patterns in Luster
Design Patterns in LusterJason Chung
 
走自己的路做有故事的人20170123
走自己的路做有故事的人20170123走自己的路做有故事的人20170123
走自己的路做有故事的人20170123美棻Nancy 魏Wei
 
即時筆記: Jerry直播說書 0117
即時筆記: Jerry直播說書 0117即時筆記: Jerry直播說書 0117
即時筆記: Jerry直播說書 0117美棻Nancy 魏Wei
 
即時筆記整合:Jerry直播說書0208「謝謝你遲到了!」
即時筆記整合:Jerry直播說書0208「謝謝你遲到了!」即時筆記整合:Jerry直播說書0208「謝謝你遲到了!」
即時筆記整合:Jerry直播說書0208「謝謝你遲到了!」美棻Nancy 魏Wei
 

Viewers also liked (19)

SOLID Principles
SOLID PrinciplesSOLID Principles
SOLID Principles
 
物件導向設計原則:SOLID + DI
物件導向設計原則:SOLID + DI物件導向設計原則:SOLID + DI
物件導向設計原則:SOLID + DI
 
From 1 to 164 (new)
From 1 to 164 (new)From 1 to 164 (new)
From 1 to 164 (new)
 
Facebook 建置班_羅浮DOC
Facebook 建置班_羅浮DOCFacebook 建置班_羅浮DOC
Facebook 建置班_羅浮DOC
 
經管班分享
經管班分享經管班分享
經管班分享
 
功夫微講堂02
功夫微講堂02功夫微講堂02
功夫微講堂02
 
零秒思考力20161216
零秒思考力20161216零秒思考力20161216
零秒思考力20161216
 
功夫微講堂第五卷
功夫微講堂第五卷功夫微講堂第五卷
功夫微講堂第五卷
 
Qlync RD 第三屆讀書會候選清單
Qlync RD 第三屆讀書會候選清單Qlync RD 第三屆讀書會候選清單
Qlync RD 第三屆讀書會候選清單
 
Jerry直播筆記20170111
Jerry直播筆記20170111Jerry直播筆記20170111
Jerry直播筆記20170111
 
Design Patterns in Luster
Design Patterns in LusterDesign Patterns in Luster
Design Patterns in Luster
 
功夫微講堂03
功夫微講堂03功夫微講堂03
功夫微講堂03
 
走自己的路做有故事的人20170123
走自己的路做有故事的人20170123走自己的路做有故事的人20170123
走自己的路做有故事的人20170123
 
即時筆記: Jerry直播說書 0117
即時筆記: Jerry直播說書 0117即時筆記: Jerry直播說書 0117
即時筆記: Jerry直播說書 0117
 
即時筆記整合:Jerry直播說書0208「謝謝你遲到了!」
即時筆記整合:Jerry直播說書0208「謝謝你遲到了!」即時筆記整合:Jerry直播說書0208「謝謝你遲到了!」
即時筆記整合:Jerry直播說書0208「謝謝你遲到了!」
 
功夫微講堂第四卷
功夫微講堂第四卷功夫微講堂第四卷
功夫微講堂第四卷
 
直播筆記20170104
直播筆記20170104直播筆記20170104
直播筆記20170104
 
The Zen of Scrum
The Zen of ScrumThe Zen of Scrum
The Zen of Scrum
 
Scrum In 15 Minutes
Scrum In 15 MinutesScrum In 15 Minutes
Scrum In 15 Minutes
 

Similar to Memory profiler and garbage collector in C#

Performance Analysis of Idle Programs
Performance Analysis of Idle ProgramsPerformance Analysis of Idle Programs
Performance Analysis of Idle Programsgreenwop
 
The program reads data from two files, itemsList-0x.txt and .docx
The program reads data from two files, itemsList-0x.txt and .docxThe program reads data from two files, itemsList-0x.txt and .docx
The program reads data from two files, itemsList-0x.txt and .docxoscars29
 
dotMemory 4 - What's inside?
dotMemory 4 - What's inside?dotMemory 4 - What's inside?
dotMemory 4 - What's inside?Maarten Balliauw
 
Exploit Frameworks
Exploit FrameworksExploit Frameworks
Exploit Frameworksphanleson
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETMaarten Balliauw
 
.NET Fest 2018. Maarten Balliauw. Let’s refresh our memory! Memory management...
.NET Fest 2018. Maarten Balliauw. Let’s refresh our memory! Memory management....NET Fest 2018. Maarten Balliauw. Let’s refresh our memory! Memory management...
.NET Fest 2018. Maarten Balliauw. Let’s refresh our memory! Memory management...NETFest
 
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12sidg75
 
Exploring .NET memory management - JetBrains webinar
Exploring .NET memory management - JetBrains webinarExploring .NET memory management - JetBrains webinar
Exploring .NET memory management - JetBrains webinarMaarten Balliauw
 
Designing A Project Using Java Programming
Designing A Project Using Java ProgrammingDesigning A Project Using Java Programming
Designing A Project Using Java ProgrammingKaty Allen
 
Fundamentals of Complete Crash and Hang Memory Dump Analysis (Revision 2)
Fundamentals of Complete Crash and Hang Memory Dump Analysis (Revision 2)Fundamentals of Complete Crash and Hang Memory Dump Analysis (Revision 2)
Fundamentals of Complete Crash and Hang Memory Dump Analysis (Revision 2)Dmitry Vostokov
 
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)Elvin Gentiles
 
Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
Performance Tuning -  Memory leaks, Thread deadlocks, JDK toolsPerformance Tuning -  Memory leaks, Thread deadlocks, JDK tools
Performance Tuning - Memory leaks, Thread deadlocks, JDK toolsHaribabu Nandyal Padmanaban
 
ExampleIT-600Journal Entry 1Every operating system, whethe.docx
ExampleIT-600Journal Entry 1Every operating system, whethe.docxExampleIT-600Journal Entry 1Every operating system, whethe.docx
ExampleIT-600Journal Entry 1Every operating system, whethe.docxSANSKAR20
 
Building a Driver: Lessons Learned From Developing the Internet Explorer Driver
Building a Driver: Lessons Learned From Developing the Internet Explorer DriverBuilding a Driver: Lessons Learned From Developing the Internet Explorer Driver
Building a Driver: Lessons Learned From Developing the Internet Explorer Driverseleniumconf
 
How to solve misalignment lun netapp on linux servers by Ivan
How to solve misalignment lun netapp on linux servers by IvanHow to solve misalignment lun netapp on linux servers by Ivan
How to solve misalignment lun netapp on linux servers by IvanIvan Silva
 

Similar to Memory profiler and garbage collector in C# (20)

Performance Analysis of Idle Programs
Performance Analysis of Idle ProgramsPerformance Analysis of Idle Programs
Performance Analysis of Idle Programs
 
Lab 1 Essay
Lab 1 EssayLab 1 Essay
Lab 1 Essay
 
The program reads data from two files, itemsList-0x.txt and .docx
The program reads data from two files, itemsList-0x.txt and .docxThe program reads data from two files, itemsList-0x.txt and .docx
The program reads data from two files, itemsList-0x.txt and .docx
 
dotMemory 4 - What's inside?
dotMemory 4 - What's inside?dotMemory 4 - What's inside?
dotMemory 4 - What's inside?
 
Exploit Frameworks
Exploit FrameworksExploit Frameworks
Exploit Frameworks
 
P3.docx
P3.docxP3.docx
P3.docx
 
Sporar
SporarSporar
Sporar
 
DotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NETDotNetFest - Let’s refresh our memory! Memory management in .NET
DotNetFest - Let’s refresh our memory! Memory management in .NET
 
Techno-Fest-15nov16
Techno-Fest-15nov16Techno-Fest-15nov16
Techno-Fest-15nov16
 
.NET Fest 2018. Maarten Balliauw. Let’s refresh our memory! Memory management...
.NET Fest 2018. Maarten Balliauw. Let’s refresh our memory! Memory management....NET Fest 2018. Maarten Balliauw. Let’s refresh our memory! Memory management...
.NET Fest 2018. Maarten Balliauw. Let’s refresh our memory! Memory management...
 
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
Garbage Collection, Tuning And Monitoring JVM In EBS 11i And R12
 
Exploring .NET memory management - JetBrains webinar
Exploring .NET memory management - JetBrains webinarExploring .NET memory management - JetBrains webinar
Exploring .NET memory management - JetBrains webinar
 
Designing A Project Using Java Programming
Designing A Project Using Java ProgrammingDesigning A Project Using Java Programming
Designing A Project Using Java Programming
 
Fundamentals of Complete Crash and Hang Memory Dump Analysis (Revision 2)
Fundamentals of Complete Crash and Hang Memory Dump Analysis (Revision 2)Fundamentals of Complete Crash and Hang Memory Dump Analysis (Revision 2)
Fundamentals of Complete Crash and Hang Memory Dump Analysis (Revision 2)
 
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
 
Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
Performance Tuning -  Memory leaks, Thread deadlocks, JDK toolsPerformance Tuning -  Memory leaks, Thread deadlocks, JDK tools
Performance Tuning - Memory leaks, Thread deadlocks, JDK tools
 
Lab6 rtos
Lab6 rtosLab6 rtos
Lab6 rtos
 
ExampleIT-600Journal Entry 1Every operating system, whethe.docx
ExampleIT-600Journal Entry 1Every operating system, whethe.docxExampleIT-600Journal Entry 1Every operating system, whethe.docx
ExampleIT-600Journal Entry 1Every operating system, whethe.docx
 
Building a Driver: Lessons Learned From Developing the Internet Explorer Driver
Building a Driver: Lessons Learned From Developing the Internet Explorer DriverBuilding a Driver: Lessons Learned From Developing the Internet Explorer Driver
Building a Driver: Lessons Learned From Developing the Internet Explorer Driver
 
How to solve misalignment lun netapp on linux servers by Ivan
How to solve misalignment lun netapp on linux servers by IvanHow to solve misalignment lun netapp on linux servers by Ivan
How to solve misalignment lun netapp on linux servers by Ivan
 

Recently uploaded

Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 

Recently uploaded (20)

Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 

Memory profiler and garbage collector in C#

  • 2. Agenda Why we need to use Memory Profiler Basic Under Standing Of CLR What is Garbage Collection Basic understanding of Memory Profiler How to fix Memory Leaks
  • 3. Pre .NET Application Execution VB6 Non.Net Application VB6 Compiler Assembly(.DLL or .EXE) (Native Code or Machine Code) Operating System
  • 4. .NET Application Execution .NET Application C# VB C++ J# Others Compile Using Respective Language Compiler Assembly(.dll,.exe) – Intermediate Language Intermediate Language JIT Compiler Native Code C L R Operating System
  • 6. .NET Framework Version CLR Version • 1.0 • 1.0 • 1.1 1.1 2.0,3.0,3.5 2.0 4,4.5,4.6 4
  • 7. IS .NET Platform Independent ?
  • 8. Major Features of CLR • Platform Compatibility ?? • Memory Management
  • 9. Memory Management Stack Heap Class Person { string Name; int Age; }
  • 10. Memory Management Stack Heap Static void main() { Person p; }
  • 11. Memory Management Stack Heap Static void main() { Person p; } P
  • 12. Memory Management Stack Heap Static void main() { new person(); }
  • 13. Memory Management Stack Heap Static void main() { new person(); } Person Name: null Age:0
  • 14. Memory Management Stack Heap Static void main() { person p; new person(); }
  • 15. Memory Management Stack Heap Static void main() { person p; new person(); } Person Name: null Age:0 P
  • 16. Memory Management Stack Heap Static void main() { person p= new person(); }
  • 17. Memory Management Stack Heap Static void main() { person p=new person(); } Person Name: null Age:0 P 0X123456
  • 18. Memory Management Stack Heap Class Person { string Name; int Age; person(string Name, string Age) { this.Name=Name; this.Age=Age; }
  • 19. Memory Management Stack Heap Static void main() { person p= new person(ramesh,22); }
  • 20. Memory Management Stack Heap Static void main() { person p=new person(Ramesh,22); } Person Name: Ramesh Age:22 P 0X123456
  • 21. Memory Management Stack Heap Static void main() { person p=new person(Ramesh,22); person p1=new person(Ram,22); }
  • 22. Memory Management Stack Heap Static void main() { person p=new person(Ramesh,22); person p1=new person(Ram,22); } Person Name: Ramesh Age:22 P 0X123456 P1 0X123987 Person Name: Ram Age:22
  • 23. Memory Management Stack Heap Static void main() { person p=new person(Ramesh,22); person p=new person(Ram,22); }
  • 24. Memory Management Stack Heap Static void main() { person p=new person(Ramesh,22); p=new person(Ram,22); } Person Name: Ramesh Age:22 P 0X123456
  • 25. Memory Management Stack Heap Static void main() { person p=new person(Ramesh,22); p=new person(Ram,22); } Person Name: Ramesh Age:22 P 0X777777 Person Name: Ram Age:22
  • 27. Memory Management Stack Heap Static void main() { person p=new person(Ramesh,22); p=new person(Ram,22); } Person Name: Ramesh Age:22 P 0X123456 Person Name: Ram Age:22 Garbage Collector Runs
  • 28. Memory Management Stack Heap Static void main() { person p=new person(Ramesh,22); p=new person(Ram,22); } P 0X123456 Person Name: Ram Age:22
  • 29. Memory Management .NET Manages Memory Automatically • Creates objects onto managed memory Blocks • Destroys Objects No Longer in Use
  • 30. Memory Management .NET Manages Memory Automatically • Creates objects onto managed memory Blocks • Destroys Objects No Longer in Use Allocates objects onto one of two heaps • Small object Heap(SOH)- Objects <85k • Large object Heap(LOH)- Objects >=85k
  • 31. Memory Management Stack Heap Static void main() { person p=new person(Ramesh,22); } Person Name: Ramesh Age:22 P 0X123456
  • 32. Memory Management Stack SOH(<85k) Static void main() { person p=new person(Ramesh,22); } Person Name: Ramesh Age:22 P 0X123456 LOH(>85K)
  • 33. Memory Management Stack SOH(<85k) LOH(>85K) Heap Gen0 Gen1 Gen2 Gen2
  • 34. Memory Management Stack SOH(<85k) LOH(>85K) Heap Gen0 Gen1 Gen2 Gen2 obj1 obj2
  • 35. Memory Management Stack SOH(<85k) LOH(>85K) Heap Gen0 Gen1 Gen2 Gen2 obj1 obj2
  • 36. Memory Management Stack SOH(<85k) LOH(>85K) Heap Gen0 Gen1 Gen2 Gen2 obj1
  • 37. Memory Management Stack SOH(<85k) LOH(>85K) Heap Gen0 Gen1 Gen2 Gen2 obj1
  • 38. Memory Management Stack SOH(<85k) LOH(>85K) Heap Gen0 Gen1 Gen2 Gen2 obj1
  • 39. Memory Management Stack SOH(<85k) LOH(>85K) Heap Gen0 Gen1 Gen2 Gen2 obj1
  • 40. Memory Management Stack SOH(<85k) LOH(>85K) Heap Gen0 Gen1 Gen2 Gen2 obj1
  • 41. Memory Management GC Runs When • Gen 0 Objects Reach ~256k • Gen 1 Objects Reach ~2Meg • Gen 2 Objects Reach ~10Meg
  • 42. Memory Management Stack SOH(<85k) LOH(>85K) Heap Gen0(256k) Gen1(2Mb) Gen2(10Mb) Gen2
  • 43. Memory Problems Excessive RAM Footprint • App allocates memory too early or too long using more memory than needed • Can Affect other Apps on the System Excessive Temporary Object Allocation • Garbage Collection Runs More Frequently • Executing threads freeze during Garbage Collection Memory Leak Overlooked root references keep objects alive
  • 47. RECAP •Pre .NET Execution of Application •.NET Execution of Application •What is CLR. •Different types of Memory (Stack, Heap) •Garbage Collection •Gen 0,Gen 1,Gen 2 •Memory Problems •What to Look For
  • 48. Memory Profiling and .NET Memory Profiler • What is Memory Profiling? • What is .NET memory profiler? • How to use .NET memory profiler? • How to find memory leaks? • Automatic Memory Analysis
  • 49. What is .NET memory profiler? .NET Memory Profiler is a powerful tool for finding memory leaks and optimizing the memory usage in programs written in C#, VB.NET or any other .NET Language. This tool will not fix any memory leaks or bad memory consumption issues, but will analyze the running application code and provide results that will be helpful for us to fix memory issues and to code accordingly.
  • 50. How to use .NET memory profiler? To profile the memory of an application perform the following steps: 1. Select the Profile Application command from the menu or toolbar. 2. Use the Browse button or the drop-down list to select the executable file of the application you want to profile. 3. If you want to supply program arguments, enter the command line in the Command line arguments field. 4. If you want to profile using the default settings, click Start to start the application. 5. If you want to modify settings, you can use the Next button to modify some common settings. 6. When you have decided on the settings, click Start to start the application.
  • 51. How to use .NET memory profiler? For analysing the real - time data, check real – time data box on right panel. Below is the Total instances, Total bytes and Allocations/sec data of VLEX captured in Real time:
  • 52. How to find memory leaks?(Manual) To find the memory leak manually, you can perform the following steps: 1. Start profiling the application 2. Perform the task you suspect are leaking memory (e.g., open a document, work with it, and then close it). This will make sure that all static instances are created. 3. Collect a heap snapshot.(For doing so, click on the camera button on the right panel) 4. Repeat the task performed under step 2. 5. Collect another heap snapshot. 6. Use the Show types drop-down list to select “With New or Removed Instances” to show types whose set of instances has changed between the two snapshots.
  • 53. How to find memory leaks?(Manual) 7. To Select the Types page and try to locate a type that has live instances that should have been collected. If no memory leak exists, the instances shown in the Types page should only be short-lived instances that have not been garbage collected yet. If a memory leak exists, you should be able to find a type with new instances that should have been garbage collected.
  • 54. How to find memory leaks?(Manual) 8. Double-click on the type that has live instances that should have been 9. In the Instances table, double-click on one of the new instances. 10. In the Root path table you will get information about why the selected instance was not garbage collected.
  • 55. Automatic Memory Analysis Whenever a new snapshot comparison has been performed, e.g., after collecting a snapshot or changing the selected or comparison snapshot, .NET Memory Profiler will start analysing the memory data. As soon as the analysis is finished, any found issues will be presented in info panels under the Types/Resources page, the Type details page, and the Instance details page. An example of summary issues presented in the info panel under the Types/Resources page can be seen below:
  • 57. Automatic Memory Analysis The issues presented provide warnings, suggestions, and information about common memory usage problems. The severity of an issue is  Serious Warning : A serious warning indicates an issue that could, with a high probability, cause memory usage problems, such as memory or resource leaks.  Warning: A warning indicates an issue that could cause memory usage problems, such as memory or resource leaks.  Minor Warning: A minor warning indicates an issue that could cause bad memory or resource utilization, but it should not cause problems like memory leaks.  Indirect Warning: An indirect warning indicates an issue that is caused by another warning issue. The issue will contain information about the issue that causes the direct warning.

Editor's Notes

  1. The below and following notes on the template slides are to guide you only. In your final presentation, you may delete these notes and add relevant notes if any. Title slide: Title – should not exceed beyond 3 lines, font size 30-34, Arial Headings (Font size for the title of the PPT can vary between 30-34, Arial Headings, Bold depending on the amount of text, however should not be smaller than 30 font size) Name should not exceed beyond 1 line, Designation; font size to remain at 18, Arial Headings Please keep the title slide simple, just the logo, title and name and designation to appear. No other graphic elements or any design, photograph, image can be added to this slide, alignment to remain the same
  2. Agenda slide Heading – Agenda - Font size 30, Arial Headings Agenda points to be in Arial Body (font size 28) Please restrict this slide with just 5 agenda points. If you have more than 5 points on the agenda slide please add another slide. If you have only 3 then you can use just one slide and delete the other 2 points.
  3. Section breaker slide Used for a section heading. You may add a sub heading not exceeding one line also here Section heading – Arial Headings, bold, 34 font size, should not exceed beyond 1 line Sub Head – Arial Headings, normal, 18 font size, should not exceed beyond 1 line
  4. Vertical Image slide - paragraph text Use this slide for a vertical image with text that flows in a running paragraph Text– font size 20, Arial Body Click on the icon to add image, the size of the image will be automatically determined once inserted, do not alter the size of the image In the text box on the right the font size should not be beyond 20, Arial normal, and ensure the maximum content used is aligned to the size of the image, content should not exceed beyond the size of the image
  5. Section breaker slide with customer logo Section heading – Arial Headings, 34, Bold Sub head – Arial Headings, 18, normal Used for a section heading. You may add a sub heading not exceeding one line also here Section heading – Arial Headings, bold, 34 font size, should not exceed beyond 1 line Sub Head – Arial Headings, normal, 18 font size, should not exceed beyond 1 line
  6. Image slide The image slides help you represent the topic visually. There are 4 options you can choose from for an image slide. Title font size 30, Arial Heading Click on the icon to add image, the size of the image will be automatically determined once inserted In the text box below the image the content should not exceed beyond 2 lines, font size – 24, Arial normal * Do not alter the size of the image
  7. Content Slide: This is usually the most frequently used slide in every presentation. Use this slide for Text heavy slides. Text can only be used in bullet points Title Heading – font size 30, Arial Heading Slide Content – Should not reduce beyond Arial body font 16 If you need to use sub bullets please use the indent buttons located next to the bullets buttons in the tool bar and this will automatically provide you with the second, third, fourth & fifth level bullet styles and font sizes Please note you can also press the tab key to create the different levels of bulleted content
  8. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  9. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  10. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  11. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  12. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  13. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  14. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  15. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  16. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  17. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  18. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  19. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  20. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  21. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  22. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  23. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  24. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  25. Full Size Image slide The image slides help you represent the topic visually. Click on the icon to add image, the size of the image will be automatically determined once inserted Except an image do not add any content in this slide
  26. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  27. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  28. Full Size Image slide The image slides help you represent the topic visually. Click on the icon to add image, the size of the image will be automatically determined once inserted Except an image do not add any content in this slide
  29. Full Size Image slide The image slides help you represent the topic visually. Click on the icon to add image, the size of the image will be automatically determined once inserted Except an image do not add any content in this slide
  30. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  31. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  32. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  33. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  34. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  35. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  36. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  37. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  38. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  39. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  40. Full Size Image slide The image slides help you represent the topic visually. Click on the icon to add image, the size of the image will be automatically determined once inserted Except an image do not add any content in this slide
  41. Column content slide This is a slide with 2 columns and you can have text in bullet points under each column. You can have separate header for each of the columns in the blue box provided on top of each of the columns. Heading font size of the column should remain at 30 and the column content font size should not reduce beyond 16.
  42. Full Size Image slide The image slides help you represent the topic visually. Click on the icon to add image, the size of the image will be automatically determined once inserted Except an image do not add any content in this slide
  43. Vertical Image slide - paragraph text Use this slide for a vertical image with text that flows in a running paragraph Text– font size 20, Arial Body Click on the icon to add image, the size of the image will be automatically determined once inserted, do not alter the size of the image In the text box on the right the font size should not be beyond 20, Arial normal, and ensure the maximum content used is aligned to the size of the image, content should not exceed beyond the size of the image
  44. Vertical Image slide - paragraph text Use this slide for a vertical image with text that flows in a running paragraph Text– font size 20, Arial Body Click on the icon to add image, the size of the image will be automatically determined once inserted, do not alter the size of the image In the text box on the right the font size should not be beyond 20, Arial normal, and ensure the maximum content used is aligned to the size of the image, content should not exceed beyond the size of the image
  45. Vertical Image slide - paragraph text Use this slide for a vertical image with text that flows in a running paragraph Text– font size 20, Arial Body Click on the icon to add image, the size of the image will be automatically determined once inserted, do not alter the size of the image In the text box on the right the font size should not be beyond 20, Arial normal, and ensure the maximum content used is aligned to the size of the image, content should not exceed beyond the size of the image
  46. Section breaker slide Used for a section heading. You may add a sub heading not exceeding one line also here Section heading – Arial Headings, bold, 34 font size, should not exceed beyond 1 line Sub Head – Arial Headings, normal, 18 font size, should not exceed beyond 1 line
  47. Content Slide: This is usually the most frequently used slide in every presentation. Use this slide for Text heavy slides. Text can only be used in bullet points Title Heading – font size 30, Arial Heading Slide Content – Should not reduce beyond Arial body font 16 If you need to use sub bullets please use the indent buttons located next to the bullets buttons in the tool bar and this will automatically provide you with the second, third, fourth & fifth level bullet styles and font sizes Please note you can also press the tab key to create the different levels of bulleted content
  48. Content Slide: This is usually the most frequently used slide in every presentation. Use this slide for Text heavy slides. Text can only be used in bullet points Title Heading – font size 30, Arial Heading Slide Content – Should not reduce beyond Arial body font 16 If you need to use sub bullets please use the indent buttons located next to the bullets buttons in the tool bar and this will automatically provide you with the second, third, fourth & fifth level bullet styles and font sizes Please note you can also press the tab key to create the different levels of bulleted content
  49. Content Slide: This is usually the most frequently used slide in every presentation. Use this slide for Text heavy slides. Text can only be used in bullet points Title Heading – font size 30, Arial Heading Slide Content – Should not reduce beyond Arial body font 16 If you need to use sub bullets please use the indent buttons located next to the bullets buttons in the tool bar and this will automatically provide you with the second, third, fourth & fifth level bullet styles and font sizes Please note you can also press the tab key to create the different levels of bulleted content
  50. Content Slide: This is usually the most frequently used slide in every presentation. Use this slide for Text heavy slides. Text can only be used in bullet points Title Heading – font size 30, Arial Heading Slide Content – Should not reduce beyond Arial body font 16 If you need to use sub bullets please use the indent buttons located next to the bullets buttons in the tool bar and this will automatically provide you with the second, third, fourth & fifth level bullet styles and font sizes Please note you can also press the tab key to create the different levels of bulleted content
  51. Content Slide: This is usually the most frequently used slide in every presentation. Use this slide for Text heavy slides. Text can only be used in bullet points Title Heading – font size 30, Arial Heading Slide Content – Should not reduce beyond Arial body font 16 If you need to use sub bullets please use the indent buttons located next to the bullets buttons in the tool bar and this will automatically provide you with the second, third, fourth & fifth level bullet styles and font sizes Please note you can also press the tab key to create the different levels of bulleted content
  52. Content Slide: This is usually the most frequently used slide in every presentation. Use this slide for Text heavy slides. Text can only be used in bullet points Title Heading – font size 30, Arial Heading Slide Content – Should not reduce beyond Arial body font 16 If you need to use sub bullets please use the indent buttons located next to the bullets buttons in the tool bar and this will automatically provide you with the second, third, fourth & fifth level bullet styles and font sizes Please note you can also press the tab key to create the different levels of bulleted content
  53. Content Slide: This is usually the most frequently used slide in every presentation. Use this slide for Text heavy slides. Text can only be used in bullet points Title Heading – font size 30, Arial Heading Slide Content – Should not reduce beyond Arial body font 16 If you need to use sub bullets please use the indent buttons located next to the bullets buttons in the tool bar and this will automatically provide you with the second, third, fourth & fifth level bullet styles and font sizes Please note you can also press the tab key to create the different levels of bulleted content
  54. Content Slide: This is usually the most frequently used slide in every presentation. Use this slide for Text heavy slides. Text can only be used in bullet points Title Heading – font size 30, Arial Heading Slide Content – Should not reduce beyond Arial body font 16 If you need to use sub bullets please use the indent buttons located next to the bullets buttons in the tool bar and this will automatically provide you with the second, third, fourth & fifth level bullet styles and font sizes Please note you can also press the tab key to create the different levels of bulleted content
  55. Content Slide: This is usually the most frequently used slide in every presentation. Use this slide for Text heavy slides. Text can only be used in bullet points Title Heading – font size 30, Arial Heading Slide Content – Should not reduce beyond Arial body font 16 If you need to use sub bullets please use the indent buttons located next to the bullets buttons in the tool bar and this will automatically provide you with the second, third, fourth & fifth level bullet styles and font sizes Please note you can also press the tab key to create the different levels of bulleted content
  56. Thank you slide with customer logo Thank you slide with the customer logo: Should have only the details shown here. Logo placement cannot be changed. Wipro logo to appear on the left as per our corporate guidelines. Thank you– font size 30, Arial Headings Name & Designation – font size 18, Arial Headings, not to exceed beyond 2 lines Your/contact email id – font size 18, Arial Headings