Submit Search
Upload
Deep review of LMS process
ā¢
1 like
ā¢
2,274 views
Riyaj Shamsudeen
Follow
Review of LMS process in Oracle RAC database
Read less
Read more
Technology
Report
Share
Report
Share
1 of 25
Download now
Download to read offline
Recommended
pstack, truss etc to understand deeper issues in Oracle database
pstack, truss etc to understand deeper issues in Oracle database
Riyaj Shamsudeen
Ā
Exadata master series_asm_2020
Exadata master series_asm_2020
Anil Nair
Ā
Oracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion Edition
Markus Michalewicz
Ā
Oracle RAC features on Exadata
Oracle RAC features on Exadata
Anil Nair
Ā
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder
Ā
Advanced RAC troubleshooting: Network
Advanced RAC troubleshooting: Network
Riyaj Shamsudeen
Ā
Ash masters : advanced ash analytics on Oracle
Ash masters : advanced ash analytics on Oracle
Kyle Hailey
Ā
A deep dive about VIP,HAIP, and SCAN
A deep dive about VIP,HAIP, and SCAN
Riyaj Shamsudeen
Ā
Recommended
pstack, truss etc to understand deeper issues in Oracle database
pstack, truss etc to understand deeper issues in Oracle database
Riyaj Shamsudeen
Ā
Exadata master series_asm_2020
Exadata master series_asm_2020
Anil Nair
Ā
Oracle RAC Internals - The Cache Fusion Edition
Oracle RAC Internals - The Cache Fusion Edition
Markus Michalewicz
Ā
Oracle RAC features on Exadata
Oracle RAC features on Exadata
Anil Nair
Ā
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder - Troubleshooting Complex Oracle Performance Issues - Part 2
Tanel Poder
Ā
Advanced RAC troubleshooting: Network
Advanced RAC troubleshooting: Network
Riyaj Shamsudeen
Ā
Ash masters : advanced ash analytics on Oracle
Ash masters : advanced ash analytics on Oracle
Kyle Hailey
Ā
A deep dive about VIP,HAIP, and SCAN
A deep dive about VIP,HAIP, and SCAN
Riyaj Shamsudeen
Ā
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Zohar Elkayam
Ā
Oracle Database performance tuning using oratop
Oracle Database performance tuning using oratop
Sandesh Rao
Ā
Oracle statistics by example
Oracle statistics by example
Mauro Pagano
Ā
UKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction Locks
Kyle Hailey
Ā
Smart monitoring how does oracle rac manage resource, state ukoug19
Smart monitoring how does oracle rac manage resource, state ukoug19
Anil Nair
Ā
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder
Ā
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Sandesh Rao
Ā
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Aaron Shilo
Ā
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please help
Markus Flechtner
Ā
TFA Collector - what can one do with it
TFA Collector - what can one do with it
Sandesh Rao
Ā
Oracle ASM Training
Oracle ASM Training
Vigilant Technologies
Ā
Oracle Database SQL Tuning Concept
Oracle Database SQL Tuning Concept
Chien Chung Shen
Ā
Cluster Health Advisor (CHA) Deep Dive by Mark Scardina
Cluster Health Advisor (CHA) Deep Dive by Mark Scardina
Markus Michalewicz
Ā
Oracle AWR Data mining
Oracle AWR Data mining
Yury Velikanov
Ā
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
Sandesh Rao
Ā
New Generation Oracle RAC Performance
New Generation Oracle RAC Performance
Anil Nair
Ā
Sga internals
Sga internals
sergkosko
Ā
Low Level CPU Performance Profiling Examples
Low Level CPU Performance Profiling Examples
Tanel Poder
Ā
Oracle RAC 19c - the Basis for the Autonomous Database
Oracle RAC 19c - the Basis for the Autonomous Database
Markus Michalewicz
Ā
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
Enkitec
Ā
A close encounter_with_real_world_and_odd_perf_issues
A close encounter_with_real_world_and_odd_perf_issues
Riyaj Shamsudeen
Ā
Debugging Ruby
Debugging Ruby
Aman Gupta
Ā
More Related Content
What's hot
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Zohar Elkayam
Ā
Oracle Database performance tuning using oratop
Oracle Database performance tuning using oratop
Sandesh Rao
Ā
Oracle statistics by example
Oracle statistics by example
Mauro Pagano
Ā
UKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction Locks
Kyle Hailey
Ā
Smart monitoring how does oracle rac manage resource, state ukoug19
Smart monitoring how does oracle rac manage resource, state ukoug19
Anil Nair
Ā
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder
Ā
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Sandesh Rao
Ā
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Aaron Shilo
Ā
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please help
Markus Flechtner
Ā
TFA Collector - what can one do with it
TFA Collector - what can one do with it
Sandesh Rao
Ā
Oracle ASM Training
Oracle ASM Training
Vigilant Technologies
Ā
Oracle Database SQL Tuning Concept
Oracle Database SQL Tuning Concept
Chien Chung Shen
Ā
Cluster Health Advisor (CHA) Deep Dive by Mark Scardina
Cluster Health Advisor (CHA) Deep Dive by Mark Scardina
Markus Michalewicz
Ā
Oracle AWR Data mining
Oracle AWR Data mining
Yury Velikanov
Ā
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
Sandesh Rao
Ā
New Generation Oracle RAC Performance
New Generation Oracle RAC Performance
Anil Nair
Ā
Sga internals
Sga internals
sergkosko
Ā
Low Level CPU Performance Profiling Examples
Low Level CPU Performance Profiling Examples
Tanel Poder
Ā
Oracle RAC 19c - the Basis for the Autonomous Database
Oracle RAC 19c - the Basis for the Autonomous Database
Markus Michalewicz
Ā
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
Enkitec
Ā
What's hot
(20)
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Ā
Oracle Database performance tuning using oratop
Oracle Database performance tuning using oratop
Ā
Oracle statistics by example
Oracle statistics by example
Ā
UKOUG, Oracle Transaction Locks
UKOUG, Oracle Transaction Locks
Ā
Smart monitoring how does oracle rac manage resource, state ukoug19
Smart monitoring how does oracle rac manage resource, state ukoug19
Ā
Tanel Poder - Performance stories from Exadata Migrations
Tanel Poder - Performance stories from Exadata Migrations
Ā
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Ā
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Ā
My SYSAUX tablespace is full - please help
My SYSAUX tablespace is full - please help
Ā
TFA Collector - what can one do with it
TFA Collector - what can one do with it
Ā
Oracle ASM Training
Oracle ASM Training
Ā
Oracle Database SQL Tuning Concept
Oracle Database SQL Tuning Concept
Ā
Cluster Health Advisor (CHA) Deep Dive by Mark Scardina
Cluster Health Advisor (CHA) Deep Dive by Mark Scardina
Ā
Oracle AWR Data mining
Oracle AWR Data mining
Ā
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
AIOUG : OTNYathra - Troubleshooting and Diagnosing Oracle Database 12.2 and O...
Ā
New Generation Oracle RAC Performance
New Generation Oracle RAC Performance
Ā
Sga internals
Sga internals
Ā
Low Level CPU Performance Profiling Examples
Low Level CPU Performance Profiling Examples
Ā
Oracle RAC 19c - the Basis for the Autonomous Database
Oracle RAC 19c - the Basis for the Autonomous Database
Ā
Oracle Performance Tuning Fundamentals
Oracle Performance Tuning Fundamentals
Ā
Similar to Deep review of LMS process
A close encounter_with_real_world_and_odd_perf_issues
A close encounter_with_real_world_and_odd_perf_issues
Riyaj Shamsudeen
Ā
Debugging Ruby
Debugging Ruby
Aman Gupta
Ā
Oracle Basics and Architecture
Oracle Basics and Architecture
Sidney Chen
Ā
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
NETWAYS
Ā
PoC Oracle Exadata - Retour d'expƩrience
PoC Oracle Exadata - Retour d'expƩrience
Swiss Data Forum Swiss Data Forum
Ā
OpenZFS data-driven performance
OpenZFS data-driven performance
ahl0003
Ā
ThruPut Manager AE+: Automation for Production Control and Capacity Management
ThruPut Manager AE+: Automation for Production Control and Capacity Management
CA Technologies
Ā
Percona Live UK 2014 Part III
Percona Live UK 2014 Part III
Alkin Tezuysal
Ā
Signalling in EPC/LTE
Signalling in EPC/LTE
Leliwa
Ā
Px execution in rac
Px execution in rac
Riyaj Shamsudeen
Ā
12c for Developers - Feb 2014
12c for Developers - Feb 2014
Connor McDonald
Ā
OSMC 2015: Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015: Linux Performance Profiling and Monitoring by Werner Fischer
NETWAYS
Ā
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner Fischer
NETWAYS
Ā
Debugging Ruby Systems
Debugging Ruby Systems
Engine Yard
Ā
Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)
Ontico
Ā
re:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflix
Brendan Gregg
Ā
Linux Systems Performance 2016
Linux Systems Performance 2016
Brendan Gregg
Ā
Cisco data center support
Cisco data center support
Krunal Shah
Ā
Mysql tracing
Mysql tracing
Anis Berejeb
Ā
Mysql tracing
Mysql tracing
Anis Berejeb
Ā
Similar to Deep review of LMS process
(20)
A close encounter_with_real_world_and_odd_perf_issues
A close encounter_with_real_world_and_odd_perf_issues
Ā
Debugging Ruby
Debugging Ruby
Ā
Oracle Basics and Architecture
Oracle Basics and Architecture
Ā
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
OSDC 2017 - Werner Fischer - Linux performance profiling and monitoring
Ā
PoC Oracle Exadata - Retour d'expƩrience
PoC Oracle Exadata - Retour d'expƩrience
Ā
OpenZFS data-driven performance
OpenZFS data-driven performance
Ā
ThruPut Manager AE+: Automation for Production Control and Capacity Management
ThruPut Manager AE+: Automation for Production Control and Capacity Management
Ā
Percona Live UK 2014 Part III
Percona Live UK 2014 Part III
Ā
Signalling in EPC/LTE
Signalling in EPC/LTE
Ā
Px execution in rac
Px execution in rac
Ā
12c for Developers - Feb 2014
12c for Developers - Feb 2014
Ā
OSMC 2015: Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015: Linux Performance Profiling and Monitoring by Werner Fischer
Ā
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner Fischer
OSMC 2015 | Linux Performance Profiling and Monitoring by Werner Fischer
Ā
Debugging Ruby Systems
Debugging Ruby Systems
Ā
Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)
Ā
re:Invent 2019 BPF Performance Analysis at Netflix
re:Invent 2019 BPF Performance Analysis at Netflix
Ā
Linux Systems Performance 2016
Linux Systems Performance 2016
Ā
Cisco data center support
Cisco data center support
Ā
Mysql tracing
Mysql tracing
Ā
Mysql tracing
Mysql tracing
Ā
More from Riyaj Shamsudeen
Rac introduction
Rac introduction
Riyaj Shamsudeen
Ā
Riyaj: why optimizer_hates_my_sql_2010
Riyaj: why optimizer_hates_my_sql_2010
Riyaj Shamsudeen
Ā
Riyaj real world performance issues rac focus
Riyaj real world performance issues rac focus
Riyaj Shamsudeen
Ā
Redo internals ppt
Redo internals ppt
Riyaj Shamsudeen
Ā
Debunking myths about_redo_ppt
Debunking myths about_redo_ppt
Riyaj Shamsudeen
Ā
Demystifying cost based optimization
Demystifying cost based optimization
Riyaj Shamsudeen
Ā
Advanced rac troubleshooting
Advanced rac troubleshooting
Riyaj Shamsudeen
Ā
A kind and gentle introducton to rac
A kind and gentle introducton to rac
Riyaj Shamsudeen
Ā
Performance tuning a quick intoduction
Performance tuning a quick intoduction
Riyaj Shamsudeen
Ā
Rac 12c optimization
Rac 12c optimization
Riyaj Shamsudeen
Ā
Dbms plan - A swiss army knife for performance engineers
Dbms plan - A swiss army knife for performance engineers
Riyaj Shamsudeen
Ā
More from Riyaj Shamsudeen
(11)
Rac introduction
Rac introduction
Ā
Riyaj: why optimizer_hates_my_sql_2010
Riyaj: why optimizer_hates_my_sql_2010
Ā
Riyaj real world performance issues rac focus
Riyaj real world performance issues rac focus
Ā
Redo internals ppt
Redo internals ppt
Ā
Debunking myths about_redo_ppt
Debunking myths about_redo_ppt
Ā
Demystifying cost based optimization
Demystifying cost based optimization
Ā
Advanced rac troubleshooting
Advanced rac troubleshooting
Ā
A kind and gentle introducton to rac
A kind and gentle introducton to rac
Ā
Performance tuning a quick intoduction
Performance tuning a quick intoduction
Ā
Rac 12c optimization
Rac 12c optimization
Ā
Dbms plan - A swiss army knife for performance engineers
Dbms plan - A swiss army knife for performance engineers
Ā
Recently uploaded
Exploring UiPath Orchestrator API: updates and limits in 2024 š
Exploring UiPath Orchestrator API: updates and limits in 2024 š
DianaGray10
Ā
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
DianaGray10
Ā
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
Ā
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
John Staveley
Ā
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
Ā
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
Ā
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
Ā
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
Ā
Salesforce Adoption ā Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption ā Metrics, Methods, and Motivation, Antone Kom
CzechDreamin
Ā
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
Ā
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
Ā
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
IoTAnalytics
Ā
10 Differences between Sales Cloud and CPQ, Blanka DoktorovĆ”
10 Differences between Sales Cloud and CPQ, Blanka DoktorovĆ”
CzechDreamin
Ā
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
CzechDreamin
Ā
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
CzechDreamin
Ā
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
Ā
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
Ā
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
Ā
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
Ā
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
ScyllaDB
Ā
Recently uploaded
(20)
Exploring UiPath Orchestrator API: updates and limits in 2024 š
Exploring UiPath Orchestrator API: updates and limits in 2024 š
Ā
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
Ā
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Ā
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
Ā
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Ā
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Ā
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Ā
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Ā
Salesforce Adoption ā Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption ā Metrics, Methods, and Motivation, Antone Kom
Ā
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Ā
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Ā
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
Ā
10 Differences between Sales Cloud and CPQ, Blanka DoktorovĆ”
10 Differences between Sales Cloud and CPQ, Blanka DoktorovĆ”
Ā
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Ā
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
Ā
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Ā
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Ā
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Ā
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Ā
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
Ā
Deep review of LMS process
1.
Ā©OraInternals Riyaj Shamsudeen
RAC Hack: Deep review of LMS/LGWR process By Riyaj Shamsudeen
2.
LMS Processing (over
simplified) Rx Msg CR / CUR block build Msg to LGWR (if needed) Wakeup Log buffer processing Log file write Signal LMS Wake up Send Block OS,Network stack Ā©OraInternals Riyaj Shamsudeen 2 Send GC Message OS,Network stack User session processing Copy to SGA OS,Network stack User LMSx LGWR Node 1 Node 2
3.
Processing in the
remote nodes Ā©OraInternals Riyaj Shamsudeen 3 GC CR latency ļ® GC CR latency ~= Time spent in sending message to LMS + LMS processing (building blocks etc) + LGWR latency ( if any) + LMS send time + Wire latency Averages can be misleading. Always review both total time and average to understand the issue.
4.
LMS process ā
A deep dive ļ® LMS process uses pollsys system call and listens for incoming packets, with a 10ms timeout. ļ® Sockets are file descriptors in UNIX. truss -d -E -v all -p 1485 |more 1.8531 0.0000 pollsys(0xFFFFFD7FFFDFBA70, 7, 0xFFFFFD7FFFDFBA20, 0x00000000) = 0 fd=36 ev=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND rev=0 fd=29 ev=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND rev=0 fd=33 ev=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND rev=0 fd=41 ev=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND rev=0 fd=42 ev=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND rev=0 fd=39 ev=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND rev=0 fd=40 ev=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND rev=0 timeout: 0.010000000 sec Timeout 10ms 1.8635 0.0000 pollsys(0xFFFFFD7FFFDFBA70, 7, 0xFFFFFD7FFFDFBA20, 0x00000000) = 0 Ā©OraInternals Riyaj Shamsudeen 4
5.
Ā©OraInternals Riyaj Shamsudeen
5 LMS sockets ļ® Pfiles shows that these file descriptors are sockets, essentially, LMS process is sending and receiving messages in the ports. Pfiles 1845 36: S_IFSOCK mode:0666 dev:298,0 ino:10517 uid:0 gid:0 size:0 O_RDWR|O_NONBLOCK FD_CLOEXEC SOCK_DGRAM SO_SNDBUF(57344),SO_RCVBUF(57344),IP_NEXTHOP(0.224.0.0) sockname: AF_INET 127.0.0.1 port: 33320 29: S_IFSOCK mode:0666 dev:298,0 ino:41400 uid:0 gid:0 size:0 O_RDWR|O_NONBLOCK FD_CLOEXEC SOCK_DGRAM SO_SNDBUF(262144),SO_RCVBUF(131072),IP_NEXTHOP(0.0.2.0) sockname: AF_INET 169.254.106.96 port: 33318 33: S_IFSOCK mode:0666 dev:298,0 ino:10518 uid:0 gid:0 size:0 O_RDWR|O_NONBLOCK FD_CLOEXEC SOCK_DGRAM SO_SNDBUF(262144),SO_RCVBUF(131072),IP_NEXTHOP(0.0.2.0) sockname: AF_INET 169.254.201.54 port: 33319 Demo: demo_lms_truss.ksh demo_lms_pfiles.ksh
6.
Pollsys call voluntarily
releases CPU until a new packet is arrived to a port or a timeout. Uses very little of CPU if there is no work to be done. Without any work, just 92 Micro seconds of CPU used in a 10,242 micro seconds window. Ā©OraInternals Riyaj Shamsudeen 6 LMS CPU usage ļ® Just because LMS process runs in RT mode, does not mean that LMS process is consuming all that CPU. #./trace_syscall_preempt_size.sh 1485 0 => pollsys timestamp : 45075622139230 0 | swtch:pswitch oracle sysinfo: timestamp : 45075622155047 0 | swtch:pswitch Vol context switch : 45075622155697 pswitch genunix`cv_timedwait_sig_hires+0x2ab 0 | resume:off-cpu On cpu 0 for: 92460 0 | resume:on-cpu Off cpu for: 10242512 0 <= pollsys timestamp : 45075632406018 elapsed : 10266788 Demo: as root trace_syscall_preempt_size.sh
7.
LMS process was
woken up in 29 Micro seconds. Ā©OraInternals Riyaj Shamsudeen 7 LMS ā early wakeup ļ® Kernel will schedule LMS process if there is a network packet arriving to that port. #./trace_syscall_preempt_size.sh 1485 0 => pollsys timestamp : 45075592390763 0 | swtch:pswitch oracle sysinfo: timestamp : 45075592402281 0 | swtch:pswitch Vol context switch : 45075592402933 pswitch genunix`cv_timedwait_sig_hires+0x2ab 0 | resume:off-cpu On cpu 0 for: 55099 0 | resume:on-cpu Off cpu for: 29660449 0 <= pollsys timestamp : 45075622072662 elapsed : 29681899 Demo: as root trace_syscall_preempt_size.sh
8.
Ā©OraInternals Riyaj Shamsudeen
8 LMS count ļ® Even in busy environments, I have seen LMS to be busy only 50% of the time. ļ® To schedule a process, CPU scheduler loads the CPU registers, instruction pipeline etc, a costly process. ļ® If you have many LMS processes, then the workload will be distributed among them. Due to RT priority, they will be moving in and out of CPU. ļ® In a multi-processor environment, this becomes more complicated. ļ® Version 11.2 uses much more meaningful values for LMS count.
9.
ļ® It breaks
down the process in to micro accounting percentages. In this case, Breakdown of LMS CPU usage is: Ā©OraInternals Riyaj Shamsudeen 9 LMS ā prstat ļ® In Solaris, another way to check the efficiency of LMS process is through prstat micro accounting. # prstat -mL -p 18243 PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWPID 18243 prod 6.4 5.9 0.0 0.0 0.0 0.0 88 0.0 2K 0 30K 187 oracle/1 6.4% USR mode 5.9% SYS mode 0% CPU latency 88% Sleep Demo: prstat command 2K voluntary context switches 0 involuntary context swiches
10.
LMS process in
Node 4 is busy serving CR blocks. Why? Ā©OraInternals Riyaj Shamsudeen 10 LMS ā session ļ® LMS session level statistics can be used to measure the workload distribution. Of course, this is from the start of instances. @lms_workload_perc INST_ID PGM NAME VAL PROC_TO_INST PROC_TO_TOT INST_TO_TOT ---------- ------- ------------------------------ ---------- ------------ ----------- ----------- 1 (LMS0) gc cr blocks served 62960382 15 3 25 1 (LMS1) gc cr blocks served 58701920 13 3 25 1 (LMS2) gc cr blocks served 57757849 13 3 25 ... 2 (LMS5) gc cr blocks served 44476702 14 2 18 2 (LMS6) gc cr blocks served 42312824 13 2 18 ... 3 (LMS0) gc cr blocks served 38465965 14 2 15 3 (LMS1) gc cr blocks served 37541589 14 2 15 ... 4 (LMS6) gc cr blocks served 95517242 14 5 40 4 (LMS5) gc cr blocks served 94879180 13 5 40 ... Demo: lms_workload_distr.sql ā to measure workload from the instance start
11.
LMS processes in
Node 4 is busy here. Ā©OraInternals Riyaj Shamsudeen 11 LMS - workload ļ® In few cases, it is prudent to measure the current rate, instead of relying upon prior rate. @gc_lms_workload_distr_diff.sql Enter value for search_string: gc cr blocks served Enter value for sleep: 60 ---------|--------------|----------------|----------|---------------|---------------|-------------| Inst | Pgm | value | totvalue | instvalue | proc2inst |inst2total | ---------|--------------|----------------|----------|---------------|---------------|-------------| 1 | (LMS0)| 348| 16931| 2993| 11| 2| 1 | (LMS1)| 335| 16931| 2993| 11| 1| ... 2 | (LMS0)| 359| 16931| 2660| 13| 2| 2 | (LMS1)| 375| 16931| 2660| 14| 2| ... 3 | (LMS0)| 132| 16931| 1231| 10| 0| 3 | (LMS1)| 194| 16931| 1231| 15| 1| ... 4 | (LMS0)| 1164| 16931| 10047| 11| 6| 4 | (LMS1)| 1784| 16931| 10047| 17| 10| ---------|--------------|----------------|----------|---------------|---------------|-------------| Demo: gc_lms_workload_distr_diff.sql
12.
ļ® Following session
level stats can be reviewed to determine the performance counter for undo blocks applied. @get_sesstat_sid Enter the wildcard character (Null=All):undo Enter value threshold :1 Enter sid :11000 NAME VALUE ---------------------------------------------------------------- ---------- transaction tables consistent reads - undo records applied 13180 data blocks consistent reads - undo records applied 474036 474K undo records were applied to create CR blocks. Ā©OraInternals Riyaj Shamsudeen 12 LMS ā applying undo ļ® LMS process applies undo blocks to construct the CR buffer to send. Demo: get_sesstat_sid.sql
13.
-- Session Snapper
v2.01 by Tanel Poder ( http://www.tanelpoder.com ) ---------------------------------------------------------------------------------------------------------------------- SID, USERNAME , TYPE, STATISTIC , DELTA, HDELTA/SEC, %TIME, GRAPH ---------------------------------------------------------------------------------------------------------------------- 11000, (LMS0) , STAT, cleanouts and rollbacks - consistent rea, 633, 42.2, 11000, (LMS0) , STAT, immediate (CR) block cleanout applicatio, 689, 45.93, 11000, (LMS0) , STAT, commit txn count during cleanout , 56, 3.73, 11000, (LMS0) , STAT, active txn count during cleanout , 633, 42.2, 11000, (LMS0) , STAT, cleanout - number of ktugct calls , 690, 46, 11000, (LMS0) , TIME, background cpu time , 696907, 46.46ms, 4.6%, |@ | 11000, (LMS0) , TIME, background elapsed time , 696907, 46.46ms, 4.6%, |@ | 11000, (LMS0) , WAIT, gcs remote message , 13987778, 932.52ms, 93.3%, |@@@@@@@@@@| 11000, (LMS0) , WAIT, events in waitclass Other , 150638, 10.04ms, 1.0%, |@ | -- End of snap 2, end=2011-06-28 22:28:01, seconds=15 Ā©OraInternals Riyaj Shamsudeen 13 LMS ā snapper.sql ļ® Tanelās ultra-cool snapper is useful to find the rate of few statistics on LMS session. @session_snapper out,gather=stw 15 4 11000 Demo: snapper.sql
14.
@gc_traffic_print.sql ---------|--------------|---------|----------------|---------|---------------|---------|-------------|---------| Inst
| CR blocks Rx | CR Rx% | CUR blocks Rx | CUR RX %| CR blocks Tx | CR TX % | CUR blks TX | CUR TX% | ---------|--------------|---------|----------------|---------|---------------|---------|-------------|---------| 1 | 283| 3.6| 950| 27.12| 214| 3.33| 665| 16.8| 2 | 7185| 91.47| 1327| 37.89| 256| 3.98| 1117| 28.22| 3 | 119| 1.51| 886| 25.29| 5798| 90.22| 1617| 40.86| 4 | 268| 3.41| 339| 9.68| 158| 2.45| 558| 14.1| In that sampling interval, node 3 was transmitting 90% of the CR blocks and node 2 was receiving those blocks. This insight is useful to measure the workload distribution, with a larger sampling interval. Ā©OraInternals Riyaj Shamsudeen 14 GC TX/RX % ļ® You can find the percentage for TX and RX packets using the gc_trafic_print.sql script too. These percentages are at instance level. Demo: gc_traffic_print.sql
15.
Ā©OraInternals Riyaj Shamsudeen
15 gcs log flush sync ļ® Before sending a reconstructed CR block or CUR block, LMS will verify that corresponding redo vectors are flushed to disk. ļ® If the redo vector are not flushed, LMS need to wait for āgcs log flush syncā event after requesting LGWR for a log flush, analogous to ālog file syncā event. ļ® This is not an idle event, even though some old documentation suggest that.
16.
Gcs log flush
sync - ASH ļ® ASH shows that LMS waits for āgcs log flush syncā event. select event, count(*) from v$active_session_history where session_id in (select sid from v$session where program like '%LMS0%') and sample_time > sysdate -(4/24) group by event order by 2 desc; EVENT COUNT(*) ---------------------------------------- ---------- 767 gcs log flush sync 265 latch: KCL gc element parent latch 4 ļ® In this database, there is no issue and so, waits for āgcs log flush syncā is not high. Ā©OraInternals Riyaj Shamsudeen 16
17.
Gcs log flush
sync ā v$session_event ļ® But, v$session_event for the LMS process shows that there are no waits for gcs log flush sync! select event, trunc(time_waited_micro/1000) wait_milli, total_waits from v$session_event where sid in (select sid from v$session where program like '%LMS0%') order by 2 desc; EVENT WAIT_MILLI TOTAL_WAITS ---------------------------------------- ---------- ----------- gcs remote message 218407919 83934373 events in waitclass Other 3970180 5237156 buffer busy waits 356 2897 latch: cache buffers chains 316 5197 latch: row cache objects 0 2 latch: shared pool 0 3 Event āgcs log flush syncā is combined with other events in the wait_class āotherā. Ā©OraInternals Riyaj Shamsudeen 17
18.
Gcs log file
sync - histogram ļ® To review the impact of āgcs log file syncā waits, you should review v$event_histogram. ļ® 73% of the waits complete under 1ms. This is probably not an issue. Ā©OraInternals Riyaj Shamsudeen 18 @event_histogram.sql Enter value for event_name: gcs log flush sync INST_ID EVENT WAIT_TIME_MILLI WAIT_COUNT PER ---------- ---------------------------------------------------------------- --------------- ---------- ---------- 1 gcs log flush sync 1 24490064 73.42 1 gcs log flush sync 2 6250630 18.74 1 gcs log flush sync 4 1848333 5.54 1 gcs log flush sync 8 597646 1.79 1 gcs log flush sync 16 142603 .42 1 gcs log flush sync 32 25006 .07 1 gcs log flush sync 64 66 0
19.
Gcs log file
sync ā Not so good ļ® Following histogram shows an example when there is a performance issue with LFS. ļ® If you have LFS waits and GC waits, then you should consider tuning log file sync before tuning GC events. Ā©OraInternals Riyaj Shamsudeen 19 @event_histogram.sql Enter value for event_name: gcs log flush sync INST_ID EVENT WAIT_TIME_MILLI WAIT_COUNT PER ---------- ---------------------------------------------------------------- --------------- ---------- ---------- 1 gcs log flush sync 1 28 .07 1 gcs log flush sync 2 24 .06 1 gcs log flush sync 4 31 .08 1 gcs log flush sync 8 33 .08 1 gcs log flush sync 16 35757 95.96 1 gcs log flush sync 32 1378 3.69 1 gcs log flush sync 64 6 .01 1 gcs log flush sync 128 2 0
20.
Gcs log file
sync ā LGWR interaction ļ® If LGWR is suffering from performance issues, then LMS process can be seen waiting on āgcs log flushā wait event in a tight 10ms loop. LMS trace file: ... WAIT #0: nam='gcs log flush sync' ela= 10281 waittime=3 poll=0 event=136 obj#=-1 tim=1381909996 WAIT #0: nam='gcs log flush sync' ela= 10274 waittime=3 poll=0 event=136 obj#=-1 tim=1381920366 WAIT #0: nam='gcs log flush sync' ela= 10291 waittime=3 poll=0 event=136 obj#=-1 tim=1381930735 WAIT #0: nam='gcs log flush sync' ela= 10321 waittime=3 poll=0 event=136 obj#=-1 tim=1381941178 ... ļ® If you have LFS waits and GC waits, then you should consider tuning log file sync before tuning GC events. Ā©OraInternals Riyaj Shamsudeen 20
21.
GCS log flush
sync - Example Excessive waits for log file sync for the foreground processes. Ā©OraInternals Riyaj Shamsudeen 21 Top 5 Timed Foreground Events ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Avg wait % DB Event Waits Time(s) (ms) time Wait Class ------------------------------ ------------ ----------- ------ ------ ---------- log file sync 2,054 23,720 11548 45.8 Commit gc buffer busy acquire 19,505 10,382 532 20.0 Cluster gc cr block busy 5,407 4,655 861 9.0 Cluster enq: SQ - contention 140 3,432 24514 6.6 Configurat db file sequential read 38,062 1,305 34 2.5 User I/O Host CPU (CPUs: 24 Cores: 24 Sockets: 24) ~~~~~~~~ Load Average Begin End %User %System %WIO %Idle --------- --------- --------- --------- --------- --------- 1.18 1.16 2.7 2.6 0.0 94.7
22.
GCS log flush
sync ā GC waits Average waits for CR RX was at 222ms Global Cache and Enqueue Services - Workload Characteristics ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Avg global enqueue get time (ms): 7.4 Avg global cache cr block receive time (ms): 222.0 Avg global cache current block receive time (ms): 27.5 Avg global cache cr block build time (ms): 0.0 Avg global cache cr block send time (ms): 0.1 Global cache log flushes for cr blocks served %: 2.7 Avg global cache cr block flush time (ms): 15879.9 Avg global cache current block pin time (ms): 0.0 Avg global cache current block send time (ms): 0.1 Global cache log flushes for current blocks served %: 0.3 Avg global cache current block flush time (ms): 1701.3 High flush time indicating waits for LGWR process Ā©OraInternals Riyaj Shamsudeen 22
23.
GCS log flush
sync ā GC waits Background processes waiting for excessive gcs log flush sync events. Avg %Time Total Wait wait Waits % bg Event Waits -outs Time (s) (ms) /txn time -------------------------- ------------ ----- ---------- ------- -------- ------ gcs log flush sync 80,695 51 1,862 23 34.7 32.9 log file parallel write 44,129 0 880 20 19.0 15.6 Log archive I/O 1,607 0 876 545 0.7 15.5 gc cr block busy 729 71 752 1031 0.3 13.3 db file parallel write 25,752 0 434 17 11.1 7.7 enq: CF - contention 166 64 307 1850 0.1 5.4 High waits for log file parallel writes Ā©OraInternals Riyaj Shamsudeen 23
24.
Ā©OraInternals Riyaj Shamsudeen
24 LGWR is important ļ® So, if you think, LGWR performance is important in single instance, then it is ultra-important in RAC. ļ® If you have LGWR related performance issues, you can almost discard other waits as symptoms. ļ® Itās a pity that LGWR does not run in RT mode ( or even FX class). ļ® LMS processes runs in elevated priority, but LGWR does not run in elevated priority, classic priority-inversion!
25.
Thank you for
attending! Contact info: Email: rshamsud@gmail.com Blog : orainternals.wordpress.com URL : www.orainternals.com Ā©OraInternals Riyaj Shamsudeen 25
Download now