DTrace for Web2.0 JavaScript, PHP and Coolstack (SAMP) Philip Torchinsky Solaris Evangelist Sun Microsystems
|
|
- Hilary Hines
- 6 years ago
- Views:
Transcription
1 DTrace for Web2.0 JavaScript, PHP and Coolstack (SAMP) Philip Torchinsky Solaris Evangelist Sun Microsystems 1
2 Agenda Why should you care?? Introduction to DTrace DTrace and JavaScript DTrace on the BackEnd > Java, PHP, Python, Ruby etc. Summary and Resources 2
3 Why should you care Isn't DTrace a Solaris thing, kernel nerds, etc.? Nope, DTrace now have providers for a large number of languages, such as: > JavaScript > Java > PHP > Python > Ruby As well as for some databases such as PostgreSQL and MySQL 3
4 Introduction to DTrace DTrace was introduced in Solaris 10 Allows for dynamic instrumentation of the OS and applications > A typical Solaris 10 system has around 50K probe points plus any probes that can be dynamically inserted in to ANY application running on the system Available on any Solaris 10 system and OpenSolaris distributions Comes with a new dynamic language, D > D is used to script instrumentation whether it's for your application or you are looking at the system it self 4
5 Introduction to DTrace, (Cont.) Designed explicitly for use on production systems Zero performance impact when not in use Designed with safety in mind, includes safeguards against panics, crashes, data corruption or pathological performance degradation Powerful data management primitives eliminate need for most postprocessing -> aggregations Unwanted data is pruned as close to the source as possible 5
6 The DTrace Revolution DTrace tightens the diagnosis loop: hypothesis instrumentation data gathering analysis hypothesis... Tightened loop effects a revolution in the way we diagnose transient failure Focus can shift from instrumentation stage to hypothesis stage (forget multiple printf): > Much less labor intensive, less error prone > Much more brain intensive > Much more effective! (And a lot more fun) 6
7 In a nutshell : DTrace architecture script.d DTrace(1M) lockstat(1m) plockstat(1m) DTrace consumers libdtrace(3lib) DTrace(7D) DTrace userland kernel DTrace providers sysinfo vminfo fasttrap proc syscall sdt fbt 7
8 The D Language D is a C-like language specific to DTrace with some constructs similar to awk(1) Global, thread-local and probe-local variables Built-in variables like execname and timestamp Predicates can use arbitrary expressions to select which data is traced and which is discarded Actions to trace data, record stack backtraces, stop processes at points of interest, etc. 8
9 Providers A provider allows for instrumentation of a particular area of the system Providers make probes available to the virtual machine Providers transfer control to the DTrace virtual machine when an enabled probe is hit DTrace has several providers, e.g.: > The pid provider for C and C++ applications > The hotspot and dvm provider for Java applications > The syscall provider for system calls > The io provider for system I/O > The profile provider for cyclical events 9
10 D Language - Format. When a probe fires then action is executed if predicate evaluates true Example, Print all the system calls executed by bash probe description / predicate / { action statements } #!/usr/sbin/dtrace -s syscall:::entry /execname== bash / { printf( %s called\n,probefunc); } 10
11 Aggregations Often the patterns are more interesting than each individual datum Want to aggregate data to look for larger trends DTrace supports the aggregation of data as a first class operation An aggregation is the result of an aggregating function > count(), min(), max(), avg(), quantize() May be keyed by any arbitrary tuple 11
12 Aggregation - = aggfunc(args); '@' - key to show that name is an aggregation. keys comma separated list of D expressions. aggfunc could be one of... > sum(expr) total value of specified expression > count() number of times called. > avg(expr) average of expression > min(expr)/max(expr) min and max of expressions > quantize()/lquantize() - power of two & linear distribution 12
13 Aggregation Example #!/usr/sbin/dtrace -s pid$target:libc:malloc:entry Distribution"]=quantize(arg0); } $ aggr_malloc.d -c who dtrace: script './aggr2.d' matched 1 probe... dtrace: pid 1401 has exited Malloc Distribution value Distribution count
14 Calculating time spent One of the most common request is to find time spent in a given function Here is how this can be done #!/usr/sbin/dtrace -s syscall::open*:entry, syscall::close*:entry { ts=timestamp; } Whats wrong with this?? syscall::open*:return, syscall::close*:return { timespent = timestamp - ts; printf("threadid %d spent %d nsecs in %s", tid, timespent, probefunc); ts=0; /*allow DTrace to reclaim the storage */ timespent = 0; } 14
15 Thread Local Variable self->variable = expression; > self keyword to indicate that the variable is thread local > A boon to multi-threaded debugging > As name indicates this is specific to the thread. See code re-written #!/usr/sbin/dtrace -s syscall::open*:entry, syscall::close*:entry { self->ts=timestamp; } syscall::open*:return, syscall::close*:return { timespent = timestamp - self->ts; printf("threadid %d spent %d nsecs in %s", tid, timespent, probefunc); self->ts=0; /*allow DTrace to reclaim the storage */ timespent = 0; } 15
16 Built-in Variable Here are a few built-in variables. arg0... arg9 Arguments represented in int64_t format args[ ] - Arguments represented in correct type based on function. cpu current cpu id. cwd current working directory errno error code from last system call gid, uid real group id, user id pid, ppid, tid process id, parent proc id & thread id probeprov, probemod, probefunc, probename - probe info. timestamp, walltimestamp, vtimestamp time stamp nano sec from an arbitary point and nano sec from epoc. 16
17 DTrace for scripting languages Dynamic Tracing for Dynamic development 17
18 DTrace and Scripting Language DTrace has been integrated into many scripting languages. We will see two samples. > PHP > JavaScript For this exercise we will use Coolstack version of PHP. > Get coolstack from Please note the DTrace providers are experimental and not official 18
19 DTrace for PHP D tracing for P Hyper Processor 19
20 DTrace and PHP DTrace provider for PHP is a PECL/PEAR module To get the provider # pear install dtrace or # pecl install dtrace After coolstack, just download CSKamp and pkgadd it! then add extension=dtrace.so to the php.ini file then restart PHP 20
21 DTrace and PHP Couple links for more information Wez Furlong who created the provider has details in Bryan Cantrill has a nice demo script in his blog. 21
22 DTrace and PHP There are two probes in the provider. > function-return > function-entry You can use the 5 args in the action. > arg0 = the function name > arg1 = the filename > arg2 = the line number > arg3 = classname (or an empty string) > arg4 = object/class operator (::, ->, or an empty string) 22
23 DTrace and PHP Here is a PHP example prime.php <?php $numprimes=10000; $parray[0]=3; $test=5; $num=0; function doesdevide($x,$y) { return($x % $y); } function isprime($x) { global $parray; global $num; $index=0; $check=1; while($check==1 && $index <= $num && $x >= ($parray[$index] * $parray[$index]) ) { if( doesdevide($x, $parray[$index]) == 0) { $check=0; } else $index++; } return($check); } 23
24 DTrace and PHP Here is a PHP example(cont) while($num<$numprimes) { if(isprime($test)==1){ $num++; $parray[$num]=$test; if($num%1000==0){ printf("progress done...%d\n",$num); } } $test+=2; }?> 24
25 DTrace and PHP Here is a simple D-Script #!/usr/sbin/dtrace -Zqs php*:::function-entry } Note: -Z will allow probes that have zero match. Run this script in one window while you run the php script in another window. 25
26 DTrace and PHP Example run:./php.d ^C printf 10 isprime doesdevide
27 DTrace for Javascript Get look in to the fire, Firefox that is... 27
28 DTrace and Javascript DTrace probes have been added to Mozilla to help observe Javascript application. Here is the list of the probes > js_execute-start and js_execute-done > js_function-entry & js_function-return > js_object-create, js_object-create-start, js_objectcreate-done & js_object-finalize > layout-start & layout-end BUT get the latest firefox from - > > The probe name changes! 28
29 DTrace and MySQL With PID provider and c++filt to manually go through MySQL code, see: > > (in Russian, coming soon) DTrace support will be integrated in MySQL > messageid=
30 DTrace and Apache Open sourced version > Will be integrated in nv85 > > Detail is in > 30
31 DTrace for Web2.0 JavaScript, PHP and CoolStack (SAMP) Philip Torchinsky 31
Mestrado Informática CPD/ESC 2016/2017
CPD/ESC 2016/2017 DTrace Lab exercises DTraceis a comprehensive dynamic tracing framework for the Solaris Operating Environment. It provides a powerful infrastructure to permit administrators, developers,
More informationPerformance Tuning Linux Applications With DTrace
Performance Tuning Linux Applications With DTrace Adam Leventhal Solaris Kernel Development Sun Microsystems http://blogs.sun.com/ahl Application Sprawl Applications are no longer simple entities Complex
More informationErlang-DTrace. Garry Bulmer. Team DTrace: Tim Becker
Erlang-DTrace Garry Bulmer Team DTrace: Tim Becker What I'm going to talk about Introduction to DTrace & DTrace Architecture Demo of DTrace with one liners Erlang-Dtrace Vision & Fit Erlang VM Architecture
More informationErlang-DTrace. Garry Bulmer. Team DTrace: Tim Becker
Erlang-DTrace Garry Bulmer Team DTrace: Tim Becker What I'm going to talk about Introduction to DTrace & DTrace Architecture Demo of DTrace with one liners Erlang + Dtrace =? Erlang VM Architecture Current
More informationDTrace & MySQL. MySQL Users Conference Ben Rockwood Director of Systems Joyent
DTrace & MySQL MySQL Users Conference 2008 Ben Rockwood Director of Systems Joyent DTrace Dynamic Tracing Framework The ultimate observability tool. Created by Sun for Solaris 10 Open Source! (CDDL License)
More informationDTrace for Linux. Tomas Jedlicka Sat
DTrace for Linux Tomas Jedlicka 2018-02-03 Sat Introduction Overview DTrace has been released in 2005 for Sun s Solaris operating system. Today it has become adopted by other
More informationDTrace. Crash Dump Analysis 2014/2015. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics.
DTrace http://d3s.mff.cuni.cz Crash Dump Analysis 2014/2015 CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics DTrace Dynamic Tracing Production systems observability Safety Ideally zero overhead
More informationDTrace integration and quick start
DTrace integration and quick start rubsd Dec 2013 Veniamin Gvozdikov vg@freebsd.org What is DTrace? Dynamic tracing framework Works on Solaris/FreeBSD/OSX/QNX/Linux 2 Who uses it? Apple s Xcode Instruments
More informationTuning Parallel Code on Solaris Lessons Learned from HPC
Tuning Parallel Code on Solaris Lessons Learned from HPC Dani Flexer dani@daniflexer.com Presentation to the London OpenSolaris User Group Based on a Sun White Paper of the same name published 09/09 23/9/2009
More informationCode Instrumentation, Dynamic Tracing
Code Instrumentation, Dynamic Tracing http://d3s.mff.cuni.cz/aosy http://d3s.mff.cuni.cz Martin Děcký decky@d3s.mff.cuni.cz Observability What is the system doing? Beyond the obvious (externally visible
More informationContents. Part I Introduction. Acknowledgments About the Authors. Chapter 1 Introduction to DTrace 1
Gregg.book Page v Wednesday, February 2, 2011 12:35 PM Foreword Preface Acknowledgments About the Authors xxi xxv xxxi xxxv Part I Introduction Chapter 1 Introduction to DTrace 1 What Is DTrace? 1 Why
More informationDTrace and Java TM Technology: Taking Observability to the Next Dimension
DTrace and Java TM Technology: Taking Observability to the Next Dimension Jonathan Haslam Simon Ritter Sun Microsystems Presentation Goal Learn how to use DTrace providers to gain more insight into why
More informationDeep-inspecting MySQL with DTrace. Domas Mituzas, Sun Microsystems
Deep-inspecting MySQL with DTrace Domas Mituzas, Sun Microsystems Me MySQL Senior Support Engineer @ Sun Doing performance engineering for Wikipedia, develop performance accounting tools Don t like waste
More informationDTrace Topics: Java. Brendan Gregg Sun Microsystems March 2007
DTrace Topics: Java Brendan Gregg Sun Microsystems March 2007 #./jflow.d Greeting.greet -> java/io/printstream.println -> java/io/printstream.print -> java/io/printstream.write
More informationDTrace by Example: Solving a Real-World Problem. Paul van den Bogaard January 2007 Sun Microsystems, Inc.
DTrace by Example: Solving a Real-World Problem Paul van den Bogaard January 2007 Sun Microsystems, Inc. Copyright 2007 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A.
More informationIntroduction to using DTrace with MySQL. Vince Carbone Performance Technology Group, Sun MC Brown - MySQL
Introduction to using DTrace with MySQL Vince Carbone Performance Technology Group, Sun MC Brown - MySQL Agenda Quick DTrace Overview Tracing User Applications User Process Tracing Case Study MySQL Static
More informationDTrace Topics: Introduction
# dtrace -n 'syscall:::entry { @[exe dtrace: description 'syscall:::entry ^C DTrace Topics: Introduction Brendan Gregg Sun Microsystems April 2007 iscsitgtd 1 nscd 1 operapluginclean 3 screen-4.0.2 3 devfsadm
More informationProceedings of the General Track: 2004 USENIX Annual Technical Conference
USENIX Association Proceedings of the General Track: 2004 USENIX Annual Technical Conference Boston, MA, USA June 27 July 2, 2004 2004 by The USENIX Association All Rights Reserved For more information
More informationLeveraging DTrace for runtime verification
Leveraging DTrace for runtime verification Carl Martin Rosenberg June 7th, 2016 Department of Informatics, University of Oslo Context: Runtime verification Desired properties System Every request gets
More informationXcode. ARC, Instruments, DTrace. OSXDEV.org.
Xcode ARC, Instruments, DTrace OSXDEV.org twitter.com/@godrm Scheme Single Window Multi-window & Multi-tab Version Editor Visual Connections (IB) LLVM Compiler Workspace Fix-it & Live issue Navigators
More informationDynamic Tracing and Instrumentation
Dynamic Tracing and Instrumentation Bryan Cantrill and Mike Shapiro (bmc, mws@eng.sun.com) Solaris Kernel Group Kernel Debugging Today if (no_advanced_debugging) printf(9f) ASSERT(i_am_a_debug_kernel!=
More informationPostgreSQL on Solaris. PGCon Josh Berkus, Jim Gates, Zdenek Kotala, Robert Lor Sun Microsystems
PostgreSQL on Solaris PGCon 2007 Josh Berkus, Jim Gates, Zdenek Kotala, Robert Lor Sun Microsystems 1 Agenda Sun Cluster ZFS Zones Dtrace Service Management Facility (SMF) PGCon 2007 2 Hightly Available
More informationReal-time node.js: Instrumentation, Visualization & Debugging. Bryan Cantrill SVP,
Real-time node.js: Instrumentation, Visualization & Debugging Bryan Cantrill SVP, Engineering bryan@joyent.com @bcantrill Real-time web? The term has enjoyed some popularity, but there is clearly confusion
More informationAdvanced DTrace. Tips, Tricks and Gotchas. Bryan Cantrill, Mike Shapiro and Adam Leventhal Team DTrace
Advanced DTrace Tips, Tricks and Gotchas Bryan Cantrill, Mike Shapiro and Adam Leventhal Team DTrace Advanced DTrace Assumption that the basics of DTrace are understood or at least familiar You need not
More informationOracle Linux. DTrace Tutorial
Oracle Linux DTrace Tutorial E50705-10 October 2018 Oracle Legal Notices Copyright 2013, 2018, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under
More informationDTrace User Guide. Sun Microsystems, Inc Network Circle Santa Clara, CA U.S.A.
DTrace User Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 819 5488 10 May 2006 Copyright 2006 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA95054 U.S.A.
More informationApplication Profiling using Solaris DTrace
Application Profiling using Solaris DTrace Alexey A. Romanenko Sun Campus Ambassador Solaris 10 Dynamic Tracing (DTrace) Solaris Containers Predictive Self-Healing Secure Execution 188 Open Source Apps
More informationDTrace Topics: DTraceToolkit
#pragma D option quiet #pragma D option switchrate=10hz /* * Print header */ dtrace:::begin { /* print optional headers */ OPT_time? printf("%-14s ", " OPT_timestr? printf("%-20s ", " OPT_zone? printf("%-10s
More informationDTrace User Guide Part No: May 2006
DTrace User Guide Part No: 819 5488 10 May 2006 Copyright 2006Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A. Sun Microsystems, Inc. has intellectual property rights relating to
More informationL41: Lab 2 - Kernel implications of IPC
L41: Lab 2 - Kernel implications of IPC Dr Robert N.M. Watson Michaelmas Term 2015 The goals of this lab are to: Continue to gain experience tracing user-kernel interactions via system calls Explore the
More informationDTracing the Cloud. Brendan Gregg Lead Performance October, Monday, October 1, 12
DTracing the Cloud Brendan Gregg Lead Performance Engineer brendan@joyent.com @brendangregg October, 2012 DTracing the Cloud whoami G Day, I m Brendan These days I do performance analysis of the cloud
More informationDynamic Tracing and the DTrace book
Dynamic Tracing and the DTrace book Brendan Gregg Lead Performance Engineer, Joyent BayLISA, May 2011 Agenda Dynamic Tracing DTrace Latency Performance IntrospecDon of Cloud CompuDng DTrace Book Please
More informationSection 1: Tools. Contents CS162. January 19, Make More details about Make Git Commands to know... 3
CS162 January 19, 2017 Contents 1 Make 2 1.1 More details about Make.................................... 2 2 Git 3 2.1 Commands to know....................................... 3 3 GDB: The GNU Debugger
More informationPete s all things Sun: AMPing up your Web environment
Peter Baer Galvin Pete s all things Sun: AMPing up your Web environment Peter Baer Galvin is the chief technologist for Corporate Technologies, a premier systems integrator and VAR (www.cptech.com). Before
More informationEveryday DTrace on OSX. A talk by Scott Barron and Chad Humphries on the most visceral learnings of the DTrace tongue.
Everyday DTrace on OSX A talk by Scott Barron and Chad Humphries on the most visceral learnings of the DTrace tongue. The DTrace Team Prey tell, good sir what does it do? Tune and Troubleshoot in real
More informationL41: Kernels and Tracing
L41: Kernels and Tracing Dr Robert N. M. Watson 25 February 2015 Dr Robert N. M. Watson L41: Kernels and Tracing 25 February 2015 1 / 1 Introduction Reminder: last time 1. What is an operating system?
More informationRunning Aground: Debugging Docker in production. Bryan Cantrill CTO, Joyent
Running Aground: Debugging Docker in production Bryan Cantrill (@bcantrill), CTO, Joyent The Docker revolution While OS containers have been around for over a decade, Docker has brought the concept to
More informationSystemTap update & overview. Josh Stone Software Engineer, Red Hat
SystemTap update & overview Josh Stone Software Engineer, Red Hat Introduction SystemTap: a tool for system-wide instrumentation Inspired by Sun DTrace, IBM dprobes, etc. GPL license,
More informationUsing DTrace API to write my own consumer
Using DTrace API to write my own consumer Petr Škovroň Solaris RPE Sun Microsystems Czech petr.skovron@sun.com Jun 27, 2008 Contents Introduction Compilation and execution the DTrace script Reading the
More informationKernel debugging "tricks" wasn't my idea
Kernel debugging "tricks" wasn't my idea 1 panic("why am I talking?"); 2 Problems? panic("why am I talking?"); What is the problem with this panic message? 3 Problem 1 panic("why am I talking?"); Who am
More informationHOL6427: Uncover JDK 8 Secrets Using DTrace on Oracle Solaris 11
HOL6427: Uncover JDK 8 Secrets Using DTrace on Oracle Solaris 11 Yu Wang Principal Software Engineer, Oracle Xiaosong Zhu Principal Software Engineer, Oracle Wen-Sheng Liu Principal Software Engineer,
More informationRedux. practice. Is it getting any easier to understand other people s code?
Is it getting any easier to understand other people s code? by George V. Neville-Neil Code Spelunking Redux doi:10.1145/1400181.1400194 It has been five years since I first wrote about code spelunking
More informationBreaking Down MySQL/Percona Query Latency With DTrace
Breaking Down MySQL/Percona Query Latency With DTrace Brendan Gregg Lead Performance Engineer, Joyent Percona Live, May 2011 Agenda DTrace and Dynamic Tracing Latency and Query Latency Query Latency Components
More informationProfiling Applications!!! Mark using DTrace!
Profiling Applications!!! Mark Allen! mrallen1@yahoo.com! @bytemeorg! https://github.com/mrallen1! https://speakerdeck.com/mrallen1! using DTrace! What is DTrace?! DTrace Basics Dynamic Tracing! DTrace
More informationKernels and Tracing. Reminder: last time. What is an operating system? Systems research About the module Lab reports 10/27/16
Kernels and Tracing L41 Lecture 2 Dr Robert N. M. Watson 27 October 2016 Reminder: last time What is an operating system? Systems research About the module Lab reports L41 Lecture 2 - Kernels and Tracing
More informationChapter1 Solaris Overview
Chapter1 Solaris Overview Feature and architecture Huimei Lu blueboo@bit.edu.cn Outline Introduction to Solaris Solaris Kernel Features Solaris Kernel Architecture Solaris 10 Features Performance and Tracing
More informationLecture Topics. Announcements. Today: Threads (Stallings, chapter , 4.6) Next: Concurrency (Stallings, chapter , 5.
Lecture Topics Today: Threads (Stallings, chapter 4.1-4.3, 4.6) Next: Concurrency (Stallings, chapter 5.1-5.4, 5.7) 1 Announcements Make tutorial Self-Study Exercise #4 Project #2 (due 9/20) Project #3
More informationDebugging Node.js in Production:
Debugging Node.js in Production: Postmortem Debugging and Performance Analysis Fluent 2012 David Pacheco (@dapsays) Joyent The Rise of Node.js We see Node.js as the confluence of three ideas: JavaScript
More informationL41: Kernels and Tracing
L41: Kernels and Tracing Dr Robert N. M. Watson 15 October 2015 Dr Robert N. M. Watson L41: Kernels and Tracing 15 October 2015 1 / 23 Introduction Reminder: last time 1. What is an operating system? 2.
More informationKnow your Unknowns. Techniques for analyzing unknown software. (and dynamic reversing in general)
Know your Unknowns Techniques for analyzing unknown software (and dynamic reversing in general) The Problem Presented with a new software sample, how do we determine: What does it do? How does it do it?
More informationOpenSolaris Introduction Vítĕzslav Bátrla, Milan Juřík, Lukáš Rovenský
OpenSolaris Introduction Vítĕzslav Bátrla, Milan Juřík, Lukáš Rovenský Solaris RPE Sun Microsystems 1 Agenda Who we are OpenSolaris Project Options for cooperation with universities Czech OpenSolaris Users
More informationuftrace: function graph tracer for C/C++
uftrace: function graph tracer for C/C++ Namhyung Kim ( 김남형 ) namhyung@gmail.com namhyung.kim@lge.com Open Source Summit 2017 2017.9.11 "Powered by Marp" uftrace overview function tracer for C/C++ inspired
More informationSystemTap/DTrace with MySQL & Drizzle
SystemTap/DTrace with MySQL & Drizzle Padraig O'Sullivan Software Engineer, Akiban Tech. posullivan@akiban.com http://posulliv.github.com/ These slides released under the Creative Commons Attribution Noncommercial
More informationIs it getting any easier to understand other people s code?
Is it getting any easier to understand other people s code? 26 November/December 2008 ACM QUEUE rants: feedback@acmqueue.com Code Spelunking Redux George V. Neville-Neil, Consultant It has been five years
More informationObservation 2.0 A Dynamic Tracing framework
Observation 2.0 A Dynamic Tracing framework Angelo Rajadurai ISV Engineering - Americas Sun Microsystems Solaris Dynamic Tracing Technoloy. An introduction Angelo Rajadurai Goal Understand basic concepts
More informationCSci 4061 Introduction to Operating Systems. Programs in C/Unix
CSci 4061 Introduction to Operating Systems Programs in C/Unix Today Basic C programming Follow on to recitation Structure of a C program A C program consists of a collection of C functions, structs, arrays,
More informationCSC209 Fall Karen Reid 1
' & ) ) #$ "! How user programs interact with the Operating System. Somehow we need to convert a program into machine code (object code). A compiler passes over a whole program before translating it into
More informationProcesses. What s s a process? process? A dynamically executing instance of a program. David Morgan
Processes David Morgan What s s a process? process? A dynamically executing instance of a program 1 Constituents of a process its code data various attributes OS needs to manage it OS keeps track of all
More informationSolaris 10. DI Gerald Hartl. Account Manager for Education and Research. Sun Microsystems GesmbH Wienerbergstrasse 3/VII A Wien
Solaris 10 DI Gerald Hartl Account Manager for Education and Research Sun Microsystems GesmbH Wienerbergstrasse 3/VII A- 1101 Wien Agenda Short Solaris 10 Overview Introduction to Solaris Internals Memory
More informationThe Limit of DTrace. A Failed Attempt at Deadlock Detection
GEORGE MASON UNIVERSITY The Limit of DTrace A Failed Attempt at Deadlock Detection Khemara Chuon 2008-03-27 Solaris operating system is missing crucial probe implementations required for deadlock detection
More informationStatic and Dynamic Analysis at. David Sklar - ZendCon 2008
Static and Dynamic Analysis at. David Sklar - david@ning.com ZendCon 2008 What? Static analysis: what can you learn from looking at the source code? Dynamic analysis: what can you learn from looking at
More informationLeveraging DTrace for Runtime Verification
Leveraging DTrace for Runtime Verification Carl Martin Rosenberg Master s Thesis Spring 2016 Leveraging DTrace for Runtime Verification Carl Martin Rosenberg May 2016 ii Acknowledgements I would like
More informationProcess States. Controlling processes. Process states. PID and PPID UID and EUID GID and EGID Niceness Control terminal. Runnable. Sleeping.
Controlling processes PID and PPID UID and EUID GID and EGID Niceness Control terminal 1 Process States Process states Runnable The process can be executed Waiting for CPU Sleeping The process is waiting
More informationHigh Performance Computing Lecture 11. Matthew Jacob Indian Institute of Science
High Performance Computing Lecture 11 Matthew Jacob Indian Institute of Science Agenda 1. Program execution: Compilation, Object files, Function call and return, Address space, Data & its representation
More informationAnd It All Went Horribly Wrong: Debugging Production Systems
And It All Went Horribly Wrong: Debugging Production Systems Bryan Cantrill VP, Engineering bryan@joyent.com @bcantrill In the beginning... In the beginning... Sir Maurice Wilkes, 1913-2010 In the beginning...
More informationFall 2015 COMP Operating Systems. Lab #3
Fall 2015 COMP 3511 Operating Systems Lab #3 Outline n Operating System Debugging, Generation and System Boot n Review Questions n Process Control n UNIX fork() and Examples on fork() n exec family: execute
More informationFebruary 27, Apache HTTP Server 2.4 Problem Diagnosis. Jeff Trawick.
http://emptyhammock.com/ trawick@emptyhammock.com February 27, 2013 Get these slides... http://emptyhammock.com/projects/info/slides.html Table of Contents 1 2 3 4 5 6 7 Who am I? I ve worked on Apache
More informationTahsin Demiral, M.Sc.
Sun Learning Services Training i Day 24 September, 2008 Tahsin Demiral, M.Sc. Omega Training and Consultancy www.omegaegitim.com 1 Agenda 09:30 10:45 Solaris Course Content & Certification 10:45 11:15
More informationOracle Linux. DTrace Guide
Oracle Linux DTrace Guide E38608-21 November 2018 Oracle Legal Notices Copyright 2013, 2018, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under
More informationDebugging Your Production JVM TM Machine
Debugging Your Production JVM TM Machine Ken Sipe Perficient (PRFT) kensipe@gmail.com @kensipe Abstract > Learn the tools and techniques used to monitor, trace and debugging running Java applications.
More informationUsing the Debugger. Michael Jantz Dr. Prasad Kulkarni
Using the Debugger Michael Jantz Dr. Prasad Kulkarni 1 Debugger What is it a powerful tool that supports examination of your program during execution. Idea behind debugging programs. Creates additional
More informationSystemTap for Enterprise
SystemTap for Enterprise SystemTap for Enterprise Enterprise Features in SystemTap 2010/09/28 Hitachi Systems Development Laboratory Linux Technology Center Masami Hiramatsu SystemTap Overview Tracing
More informationLinuxCon North America 2016 Investigating System Performance for DevOps Using Kernel Tracing
Investigating System Performance for DevOps Using Kernel Tracing jeremie.galarneau@efficios.com @LeGalarneau Presenter Jérémie Galarneau EfficiOS Inc. Head of Support http://www.efficios.com Maintainer
More informationChapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on
Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures 1. Operating System Services 2. User Operating System
More informationDesigning experiments Performing experiments in Java Intel s Manycore Testing Lab
Designing experiments Performing experiments in Java Intel s Manycore Testing Lab High quality results that capture, e.g., How an algorithm scales Which of several algorithms performs best Pretty graphs
More informationThe Kernel Abstraction. Chapter 2 OSPP Part I
The Kernel Abstraction Chapter 2 OSPP Part I Kernel The software component that controls the hardware directly, and implements the core privileged OS functions. Modern hardware has features that allow
More informationProcess management. What s in a process? What is a process? The OS s process namespace. A process s address space (idealized)
Process management CSE 451: Operating Systems Spring 2012 Module 4 Processes Ed Lazowska lazowska@cs.washington.edu Allen Center 570 This module begins a series of topics on processes, threads, and synchronization
More informationCSE 451: Operating Systems Winter Module 4 Processes. Mark Zbikowski Allen Center 476
CSE 451: Operating Systems Winter 2015 Module 4 Processes Mark Zbikowski mzbik@cs.washington.edu Allen Center 476 2013 Gribble, Lazowska, Levy, Zahorjan Process management This module begins a series of
More informationAn Oracle White Paper September Dynamic Tracing Framework for Oracle WebLogic Server on Oracle Solaris
An Oracle White Paper September 2010 Dynamic Tracing Framework for Oracle WebLogic Server on Oracle Solaris Executive Overview... 4 Introduction... 4 Observing Applications in Production... 5 Solaris DTrace....
More informationCSE 4/521 Introduction to Operating Systems
CSE 4/521 Introduction to Operating Systems Lecture 3 Operating Systems Structures (Operating-System Services, User and Operating-System Interface, System Calls, Types of System Calls, System Programs,
More informationFrom Processes to Threads
From Processes to Threads 1 Processes, Threads and Processors Hardware can interpret N instruction streams at once Uniprocessor, N==1 Dual-core, N==2 Sun s Niagra T2 (2007) N == 64, but 8 groups of 8 An
More informationPrograms. Program: Set of commands stored in a file Stored on disk Starting a program creates a process static Process: Program loaded in RAM dynamic
Programs Program: Set of commands stored in a file Stored on disk Starting a program creates a process static Process: Program loaded in RAM dynamic Types of Processes 1. User process: Process started
More informationOracle Linux. DTrace Guide
Oracle Linux DTrace Guide E38608-18 August 2017 Oracle Legal Notices Copyright 2013, 2017, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under
More information[UNIT 1 <Continued>]: <Understanding Apache>
[UNIT 1 ]: Directives DocumentRoot This directive specifies the root directory of the server s content hierarchy, Syntax DocumentRoot dir Where dir is the directory s
More informationSoftware Based Fault Injection Framework For Storage Systems Vinod Eswaraprasad Smitha Jayaram Wipro Technologies
Software Based Fault Injection Framework For Storage Systems Vinod Eswaraprasad Smitha Jayaram Wipro Technologies The agenda Reliability in Storage systems Types of errors/faults in distributed storage
More informationCHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.
CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationRALPH BÖHME, SERNET, SAMBA TEAM UNDERSTANDING AND IMPROVING SAMBA FILESERVER PERFORMANCE HOW I FELL IN LOVE WITH SYSTEMTAP AND PERF
UNDERSTANDING AND IMPROVING HOW I FELL IN LOVE WITH SYSTEMTAP AND PERF 2 AGENDA Disclaimer: focus on userspace, not kernel, mostly Linux Linux tracing history tour de force perf Systemtap Samba fileserver
More informationOS Containers. Michal Sekletár November 06, 2016
OS Containers Michal Sekletár msekleta@redhat.com November 06, 2016 whoami Senior Software Engineer @ Red Hat systemd and udev maintainer Free/Open Source Software contributor Michal Sekletár msekleta@redhat.com
More informationLast week. Data on the stack is allocated automatically when we do a function call, and removed when we return
Last week Data can be allocated on the stack or on the heap (aka dynamic memory) Data on the stack is allocated automatically when we do a function call, and removed when we return f() {... int table[len];...
More informationExercise Session 6 Computer Architecture and Systems Programming
Systems Group Department of Computer Science ETH Zürich Exercise Session 6 Computer Architecture and Systems Programming Herbstsemester 2016 Agenda GDB Outlook on assignment 6 GDB The GNU Debugger 3 Debugging..
More informationDrupal Command Line Instructions Windows 8.1 Setup >>>CLICK HERE<<<
Drupal Command Line Instructions Windows 8.1 Setup Learn how to install the Telnet Client in Windows, how to start it, how to where to find documentation about Telnet commands and where to find Telnet
More informationProcesses. Johan Montelius KTH
Processes Johan Montelius KTH 2017 1 / 47 A process What is a process?... a computation a program i.e. a sequence of operations a set of data structures a set of registers means to interact with other
More informationLet's Play... Try to name the databases described on the following slides...
Database Software Let's Play... Try to name the databases described on the following slides... "World's most popular" Free relational database system (RDBMS) that... the "M" in "LAMP" and "XAMP" stacks
More informationChapter 2: Operating-System Structures. Operating System Concepts 9 th Edition
Chapter 2: Operating-System Structures Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationLesson 17 Transcript: Troubleshooting
Lesson 17 Transcript: Troubleshooting Slide 1 - Cover Welcome to Lesson 17 of the DB2 on Campus lecture series. Today we're going to talk about troubleshooting. My name is Raul Chong, and I'm the DB2 on
More informationApache Spark 2.0 Performance Improvements Investigated With Flame Graphs. Luca Canali CERN, Geneva (CH)
Apache Spark 2.0 Performance Improvements Investigated With Flame Graphs Luca Canali CERN, Geneva (CH) Speaker Intro Database engineer and team lead at CERN IT Hadoop and Spark service Database services
More informationSystemTap Tutorial - Part 1
Logo ref: http://sourceware.org/systemtap/wiki/lw2008systemtaptutorial SystemTap Tutorial - Part 1 Who is doing maximum read/write on my server? Can I add some debug statements in the kernel without rebuilding,
More informationA process. the stack
A process Processes Johan Montelius What is a process?... a computation KTH 2017 a program i.e. a sequence of operations a set of data structures a set of registers means to interact with other processes
More informationAn introduction to checkpointing. for scientific applications
damien.francois@uclouvain.be UCL/CISM - FNRS/CÉCI An introduction to checkpointing for scientific applications November 2013 CISM/CÉCI training session What is checkpointing? Without checkpointing: $./count
More information