Performance Counters on Linux
|
|
|
- Amberlynn Mathews
- 10 years ago
- Views:
Transcription
1 Performance Counters on Linux The New Tools Linux Plumbers Conference, September, 2009 Arnaldo Carvalho de Melo
2 How did I get involved?. I am no specialist on performance counters. pahole & the dwarves. ELF, DWARF, symtabs, dynsyms, relocations, etc. ftrace. Presentation focus on the tools. But some kernel details will be mentioned
3 pahole - naked struct struct cheese { char name[27]; short age; int calories; short price; char type; };
4 pahole - data structure layout $ pahole --quiet swiss_cheese struct cheese { char name[27]; /* 0 27 */ short int age; /* 28 2 */ int calories; /* 32 4 */ short int price; /* 36 2 */ char type; /* 38 1 */ };
5 pahole - the holes! $ pahole swiss_cheese struct cheese { char name[27]; /* 0 27 */ /* XXX 1 byte hole, try to pack */ short int age; /* 28 2 */ /* XXX 2 bytes hole, try to pack */ int calories; /* 32 4 */ short int price; /* 36 2 */ char type; /* 38 1 */ /* size: 40, cachelines: 1 */ /* sum members: 36, holes: 2, sum holes: 3 */ /* padding: 1, last cacheline: 40 bytes */ };
6 How did I get involved? Part two. Part of the Red Hat Real Time team. We need to discover why 100us deadlines are not being met. Why this is slower on your RT kernel than on your RHEL one?. Observability tooling!. Huge educational value, use it!
7 OK, Back to the future! Where is my bottleneck?! later, at the pub...
8 Performance Counters Performance counters are special hardware registers available on most modern CPUs. These registers count the number of certain types of hw events: such as instructions executed, cache-misses suffered, or branches mispredicted - without slowing down the kernel or applications. These registers can also trigger interrupts when a threshold number of events have passed - and can thus be used to profile the code that runs on that CPU. From
9 Limited resource: Processor: UltraSparc 2 Pentium III 2 Athlon 4 IA-64 4 POWER4 8 Pentium IV 18 Some are programmable, some are for specific events.
10 The oprofile development problem. Disconnected kernel & userspace development. Linus problem with Atom and Nehalem support. Less of the "two broken pieces" approach -> One working piece.
11 How LPE started?. perfmon/perfmon2/perfmon3. Dozens of new syscalls multiplexer. Userspace knows about PMU details. Kernel doesn t abstracts those details. Endless discussions, low buyin from core kernel developers. Ingo Molnar + Thomas Gleixner presents how they think it should be done
12 The perf user interface approach. git like. Many subcommands. Per thread/per workload/per CPU/system wide. No daemons
13 The perf development approach. Tools hosted in the kernel sources: tools/perf/. Subcommands Can be developed largely independently. Developers expected to touch both sides (kernel/user). Written in the C idiom used in the kernel. Shares code with the kernel (rbtree, list, more to come)
14 The new implementation approach. Just one new syscall: sys_perf_counter_open. Returns a file descriptor. read/write/mmap/close/fcntl/ioctl/poll work as usual. Per thread/cpu/whole system. Transparent inheritance support Full workloads can be measured Without having to use ptrace methods to follow forks & clones. Events Mapped to closest per arch hw counter. Possible to use raw events. Supports tracepoints. Software counters (hrtimer based or not). Support for hw breakpoints being developed
15 sys_perf_counter_open - The syscall - event type attributes for monitoring/sampling - target pid - target cpu - group_fd - flags
16 sys_perf_counter_open - event type - PERF_TYPE_HARDWARE - PERF_TYPE_SOFTWARE - PERF_TYPE_TRACEPOINT - PERF_TYPE_HW_CACHE - PERF_TYPE_RAW (for raw tracepoint data)
17 sys_perf_counter_open - attr.sample_type - bitmask - PERF_SAMPLE_IP - PERF_SAMPLE_TID - PERF_SAMPLE_TIME - PERF_SAMPLE_CALLCHAIN - PERF_SAMPLE_ID - PERF_SAMPLE_CPU
18 sys_perf_counter_open - attr config bitfield - disabled: off by default - inherit: children inherit it - exclude_{user,kernel,hv,idle}: don t count these - mmap: include mmap data - comm: include comm data - inherit_stat: per task counts - enable_on_exec: next exec enables
19 Architectures already supported. x86: p6, core+, k7+. ppc64. sparc. Others supporting just software/ftrace events frv parisc s390 sh
20 Tools. git like: subcomands. list. stat. top. record. report. annotate. trace. sched
21 perf list $ perf list List of pre-defined events (to be used in -e): cpu-cycles OR cycles [Hardware event] instructions [Hardware event] cache-references [Hardware event] cache-misses [Hardware event] branch-instructions OR branches [Hardware event] branch-misses [Hardware event] bus-cycles [Hardware event]
22 perf list - continued cpu-clock [Software event] task-clock [Software event] page-faults OR faults [Software event] minor-faults [Software event] major-faults [Software event] context-switches OR cs [Software event] cpu-migrations OR migrations [Software event]
23 perf list - continued L1-dcache-loads [Hardware cache event] L1-dcache-load-misses [Hardware cache event] L1-dcache-stores [Hardware cache event] L1-dcache-store-misses [Hardware cache event] L1-dcache-prefetches [Hardware cache event] L1-dcache-prefetch-misses [Hardware cache event] L1-icache-loads [Hardware cache event] L1-icache-load-misses [Hardware cache event] L1-icache-prefetches [Hardware cache event] L1-icache-prefetch-misses [Hardware cache event]
24 perf list - continued LLC-loads [Hardware cache event] LLC-load-misses [Hardware cache event] LLC-stores [Hardware cache event] LLC-store-misses [Hardware cache event] LLC-prefetches [Hardware cache event] LLC-prefetch-misses [Hardware cache event]
25 perf list - continued dtlb-loads [Hardware cache event] dtlb-load-misses [Hardware cache event] dtlb-stores [Hardware cache event] dtlb-store-misses [Hardware cache event] dtlb-prefetches [Hardware cache event] dtlb-prefetch-misses [Hardware cache event] itlb-loads [Hardware cache event] itlb-load-misses [Hardware cache event] branch-loads [Hardware cache event] branch-load-misses [Hardware cache event] rnnn [raw hardware event descriptor]
26 perf list - example of tracepoints block:block_rq_insert [Tracepoint event] jbd2:jbd2_start_commit [Tracepoint event] ext4:ext4_allocate_inode [Tracepoint event] kmem:kmalloc [Tracepoint event] module:module_load [Tracepoint event] workqueue:workqueue_execution [Tracepoint event] timer:timer_expire_{entry,exit} [Tracepoint event] timer:hrtimer_start [Tracepoint event] irq:irq_handler_{entry,exit} [Tracepoint event] irq:softirq_{entry,exit} [Tracepoint event] sched:sched_{wakeup,switch} [Tracepoint event] syscalls:sys_{enter,exit}_epoll_wait [Tracepoint event]
27 perf list - plumbers wanted!. Too many events, allow filtering. Ex.: --tracepoint sched:wakeup*
28 perf stat $ perf stat ls Makefile Makefile Performance counter stats for ls Makefile : task-clock-msecs # CPUs 0 context-switches # M/sec 0 CPU-migrations # M/sec 240 page-faults # M/sec cycles # M/sec instructions # IPC cache-references # M/sec 1788 cache-misses # M/sec $ seconds time elapsed
29 perf stat - statistic $ perf stat -r 5 sleep 5 Performance counter stats for sleep 5 (5 runs): $ task-clock-msecs # CPUs ( % ) 1 context-switches # M/sec ( % ) 0 CPU-migrations # M/sec ( +- nan% ) 176 page-faults # M/sec ( % ) cycles # M/sec ( % ) instructions # IPC ( % ) cache-references # M/sec ( % ) 2074 cache-misses # M/sec ( % ) seconds time elapsed ( % )
30 perf top - loading firefox PerfTop: irqs/sec kernel:34.0% [ cycles], (all, 2 CPUs) samples pcnt kernel function % : read_hpet % : mwait_idle_with_hints % : drm_clflush_pages [drm] % : thinkpad_acpi_module_init [thinkpad_acpi] % : i915_gem_detach_phys_object [i915] % : _spin_lock_irqsave % : copy_user_generic_string % : acpi_os_read_port % : clear_page_c % : _spin_lock % : hpet_next_event % : i915_gem_attach_phys_object [i915] % : lock_kernel % : page_fault % : i8042_interrupt ^C $
31 perf top - plumbers wanted!. Show userspace symbols too. --pid N. callchains
32 perf record. No daemons. Callchains. Output to different files. Feed to other tools. Outputs just into the regular filesystem. No separate oprofile repository of sample files. Files are next to the project you are working on. Can record events on a task, on a CPU or on the whole system
33 perf record example $ cd firefox.data $ perf record --pid pidof firefox ^C[ perf record: Captured and wrote MB perf.data (~53065 samples) ] $ ls -sh perf.data 1,3M perf.data
34 perf record - plumbers wanted!. Should get the symtabs at the end of the session, include in perf.data. To allow for analysis on a different machine. Would be good to have -symtab packages, not just -debuginfo. Perhaps use debuginfofs.
35 perf report. Lazy/Late symbol resolution. Picks what is available. -debuginfo packages,.symtab,.dynsym. --fractal, --graph. Supports JATO generated symbol tables for JAVA JIT profiling. Automatically pick them from the dso name
36 perf report example $ perf report -C firefox --sort comm,dso # Samples: # Overhead Shared Object # % /usr/lib64/xulrunner-1.9.1/libxul.so 30.29% /usr/lib64/xulrunner-1.9.1/libmozjs.so 19.39% [kernel] 3.69% /usr/lib64/firefox-3.5/firefox 2.48% /lib64/libpthread so 1.78% /lib64/libnspr4.so 0.98% /usr/lib64/libjpeg.so % /lib64/libglib-2.0.so % /lib64/libc so 0.55% /usr/lib64/libsqlite3.so $
37 $ perf report example 2 $ perf report # Samples: # Overhead Shared Object Symbol # % [kernel] vread_hpet 7.51% /lib64/xulrunner/libxul.so SelectorMatches(RuleProcessorData&, nscssselecto 5.82% /lib64/xulrunner/libmozjs.so js_interpret 2.90% /lib64/firefox-3.5/firefox 0x dd % /lib64/xulrunner/libxul.so SelectorMatchesTree(RuleProcessorData&, nscsssel 1.50% /lib64/xulrunner/libmozjs.so js_invoke 1.46% /lib64/xulrunner/libmozjs.so js_internalinvoke 1.42% /lib64/xulrunner/libmozjs.so js_lookuppropertywithflags 1.31% /lib64/xulrunner/libxul.so nsattrvalue::contains(nsiatom*, nscasetreatment) 1.27% /lib64/libpthread so pthread_mutex_lock_internal 1.22% /lib64/xulrunner/libmozjs.so js_getpropertyhelper 1.12% /lib64/xulrunner/libmozjs.so js_executeregexp 1.10% /lib64/xulrunner/libmozjs.so js_searchscope $
38 perf report -g - Callchains - Needs -fno-omit-frame-pointer - Register pressure on IA32 - Study ongoing to enable it on upcoming distros at least on x86_64
39 perf report -g # Samples: # Overhead Command Shared Object Symbol # % pahole /usr/lib64/libdw so [.] libdw_find_attr %-- libdw_findabbrev %-- die process_tag cus load_module cus process_dwflmod dwfl_getmodules_internal %-- Dwarf_Abbrev_Hash_find %-- die process_function %-- die create_new_lexblock %-- die process_function %-- die process_tag cus load_module cus process_dwflmod dwfl_getmodules_internal %-- die create_new_lexblock <SNIP>
40 perf report - plumbers wanted!. Really big files take long to load. Progressive loading, kinda similar to perf top. Snapshots updated to the screen every N seconds
41 perf annotate. similar purpose as opannotate. colors for hot lines. still uses objdump. need to make objdump -S use the source in -debuginfo pkgs
42 Another perf report example $ perf record -g pahole vmlinux > /tmp/vmlinux.pahole [ perf record: Captured and wrote MB perf.data (~ samples) ] $ perf report -g none -C pahole -d libdwarves.so # dso:./build/libdwarves.so # comm: pahole # Samples: # Overhead Symbol # % [.] tag recode_dwarf_type 10.81% [.] namespace recode_dwarf_types 10.49% [.] die process_class 10.20% [.] cu find_base_type_by_sname_and_size 6.15% [.] strings compare 4.93% [.] tag init 4.29% [.] cus load_module 3.99% [.] list for_all_tags 3.71% [.] tag size 2.95% [.] die process_tag 2.38% [.] cu table_add_tag 2.28% [.] class_member cache_byte_size 1.87% [.] strings add 1.86% [.] dwarf_attr@plt 1.75% [.] die create_new_subroutine_type
43 What is happening in tag recode_dwarf_type? Percent Source code & Disassembly of libdwarves.so : Disassembly of section.text: : ae0 <cu table_add_tag>: <SNIP> : struct dwarf_tag *tpos; : struct hlist_node *pos; : uint16_t bucket = hashtags fn(id); : const struct hlist_head *head = hashtable + bucket; : : hlist_for_each_entry(tpos, pos, head, hash_node) { : 11870: d0 mov %rdx,%rax : if (tpos->id == id) 0.04 : 11873: 75 eb jne <tag recode_dwarf_type+0x4e0> 0.60 : 11875: e9 c7 fe ff ff jmpq <tag recode_dwarf_type+0x3c1> 0.00 : 1187a: 66 0f 1f nopw 0x0(%rax,%rax,1) : : dtype = dwarf_cu find_type_by_id(cu->priv, dtag->containing_type) <SNIP>
44 perf trace # perf record -f -R -e sched:sched_wakeup -e sched:sched_switch -e irq:softirq_entry -e irq:softirq_exit -C 0 -F 1 sleep 1 # perf trace version = 0.5 [init]-0 [0] : sched_switch: task swapper:0 [140] (R) ==> perf:2700 [120] [init]-0 [0] : softirq_entry: softirq=1 action=timer [init]-0 [0] : softirq_entry: softirq=8 action=rcu [init]-0 [0] : sched_wakeup: task pulseaudio:2603 [120] success=1 [000] sleep-2700 [0] : sched_switch: task sleep:2700 [120] (S) ==> swapper:0 [140] [init]-0 [0] : sched_switch: task swapper:0 [140] (R) ==> pulseaudio:2603 [120] sleep-2700 [0] : softirq_entry: softirq=1 action=timer sleep-2700 [0] : softirq_exit: softirq=1 action=timer sleep-2700 [0] : softirq_exit: softirq=8 action=rcu [init]-0 [0] : softirq_exit: softirq=1 action=timer [init]-0 [0] : sched_switch: task swapper:0 [140] (R) ==> firefox:17259 [120] [init]-0 [0] : sched_switch: task swapper:0 [140] (R) ==> pulseaudio:2602 [120]
45 Integration with other tools. Systemtap In-kernel usage should be designed not just for systemtap Study previous design for perfmon usage by wcohen. Oprofile Keep userspace utilities as-is, use perf kernel bits Counter multiplexing added, first seen in perf land Reduce the feature gap, future merge. sysprof Converted to the perf events infrastructure. PAPI Has support in version. More tests needed.
46 More plumbers needed!. perf cmp. More GUI tools. Wiki has a TODO list
47 Thanks n Links. Thanks to Ingo, Thomas, PeterZ, Rostedt, Frederic, Mike, Paul. And everybody else contributing and testing these new tools. tools/perf/documentation/examples.txt (in the kernel tree). git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git. Performance Counters on Linux: v8: This presentation: Arnaldo Carvalho de Melo [email protected]
Perf Tool: Performance Analysis Tool for Linux
/ Notes on Linux perf tool Intended audience: Those who would like to learn more about Linux perf performance analysis and profiling tool. Used: CPE 631 Advanced Computer Systems and Architectures CPE
<Insert Picture Here> Tracing on Linux
Tracing on Linux Elena Zannoni ([email protected]) Linux Engineering, Oracle America November 6 2012 The Tree of Tracing SystemTap LTTng perf DTrace ftrace GDB TRACE_EVENT
The New Linux perf tools
The New Linux perf tools Linux Kongress September, 2010 Arnaldo Carvalho de Melo [email protected] Presentation Flow. Motivation. Focus on the tools. But some kernel details will be mentioned. Some demos
<Insert Picture Here> Tracing on Linux: the Old, the New, and the Ugly
Tracing on Linux: the Old, the New, and the Ugly Elena Zannoni ([email protected]) Linux Engineering, Oracle America October 27 2011 Categories of Tracing Tools Kernel Tracing
PERFORMANCE TOOLS DEVELOPMENTS
PERFORMANCE TOOLS DEVELOPMENTS Roberto A. Vitillo presented by Paolo Calafiura & Wim Lavrijsen Lawrence Berkeley National Laboratory Future computing in particle physics, 16 June 2011 1 LINUX PERFORMANCE
System/Networking performance analytics with perf. Hannes Frederic Sowa <[email protected]>
System/Networking performance analytics with perf Hannes Frederic Sowa Prerequisites Recent Linux Kernel CONFIG_PERF_* CONFIG_DEBUG_INFO Fedora: debuginfo-install kernel for
Realtime Linux Kernel Features
Realtime Linux Kernel Features Tim Burke, Red Hat, Director Emerging Technologies Special guest appearance, Ted Tso of IBM Realtime what does it mean to you? Agenda What? Terminology, Target capabilities
A Study of Performance Monitoring Unit, perf and perf_events subsystem
A Study of Performance Monitoring Unit, perf and perf_events subsystem Team Aman Singh Anup Buchke Mentor Dr. Yann-Hang Lee Summary Performance Monitoring Unit, or the PMU, is found in all high end processors
STUDY OF PERFORMANCE COUNTERS AND PROFILING TOOLS TO MONITOR PERFORMANCE OF APPLICATION
STUDY OF PERFORMANCE COUNTERS AND PROFILING TOOLS TO MONITOR PERFORMANCE OF APPLICATION 1 DIPAK PATIL, 2 PRASHANT KHARAT, 3 ANIL KUMAR GUPTA 1,2 Depatment of Information Technology, Walchand College of
Linux Profiling at Netflix
Feb 2015 Linux Profiling at Netflix using perf_events (aka "perf") Brendan Gregg Senior Performance Architect Performance Engineering Team [email protected] @brendangregg This Talk This talk is about
Performance Counter. Non-Uniform Memory Access Seminar Karsten Tausche 2014-12-10
Performance Counter Non-Uniform Memory Access Seminar Karsten Tausche 2014-12-10 Performance Counter Hardware Unit for event measurements Performance Monitoring Unit (PMU) Originally for CPU-Debugging
Status and Direction of Kernel Development
Status and Direction of Kernel Development Andrew Morton Linux Foundation Japan Linux Symposium 2008 July 2008 Page 1 of 18 Overview Process The linux-next
Perf for User Space Program Analysis
Perf for User Space Program Analysis 30 May, 2013 Tetsuo Takata, Platform Solutions Business Unit, System Platforms Sector NTT DATA CORPORATION 2 Agenda 1. Introduction 2. What is perf? 3. Usage and usecases
Frysk The Systems Monitoring and Debugging Tool. Andrew Cagney
Frysk The Systems Monitoring and Debugging Tool Andrew Cagney Agenda Two Use Cases Motivation Comparison with Existing Free Technologies The Frysk Architecture and GUI Command Line Utilities Current Status
KVM & Memory Management Updates
KVM & Memory Management Updates KVM Forum 2012 Rik van Riel Red Hat, Inc. KVM & Memory Management Updates EPT Accessed & Dirty Bits 1GB hugepages Balloon vs. Transparent Huge Pages Automatic NUMA Placement
Basics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda
Objectives At the completion of this module, you will be able to: Understand the intended purpose and usage models supported by the VTune Performance Analyzer. Identify hotspots by drilling down through
LinuxCon Europe 2013. Cloud Monitoring and Distribution Bug Reporting with Live Streaming and Snapshots. mathieu.desnoyers@efficios.
LinuxCon Europe 2013 Cloud Monitoring and Distribution Bug Reporting with Live Streaming and Snapshots [email protected] 1 Presenter Mathieu Desnoyers http://www.efficios.com Author/Maintainer
Efficient and Large-Scale Infrastructure Monitoring with Tracing
CloudOpen Europe 2013 Efficient and Large-Scale Infrastructure Monitoring with Tracing [email protected] 1 Content Overview of tracing and LTTng LTTng features for Cloud Providers LTTng as a
Large-scale performance monitoring framework for cloud monitoring. Live Trace Reading and Processing
Large-scale performance monitoring framework for cloud monitoring Live Trace Reading and Processing Julien Desfossez Michel Dagenais May 2014 École Polytechnique de Montreal Live Trace Reading Read the
Visualizing gem5 via ARM DS-5 Streamline. Dam Sunwoo ([email protected]) ARM R&D December 2012
Visualizing gem5 via ARM DS-5 Streamline Dam Sunwoo ([email protected]) ARM R&D December 2012 1 The Challenge! System-level research and performance analysis becoming ever so complicated! More cores and
Perfmon2: A leap forward in Performance Monitoring
Perfmon2: A leap forward in Performance Monitoring Sverre Jarp, Ryszard Jurga, Andrzej Nowak CERN, Geneva, Switzerland [email protected] Abstract. This paper describes the software component, perfmon2,
Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment
Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment WHAT IS IT? Red Hat Network (RHN) Satellite server is an easy-to-use, advanced systems management platform
Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment
Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment WHAT IS IT? Red Hat Satellite server is an easy-to-use, advanced systems management platform for your Linux infrastructure.
Version Control Systems: SVN and GIT. How do VCS support SW development teams?
Version Control Systems: SVN and GIT How do VCS support SW development teams? CS 435/535 The College of William and Mary Agile manifesto We are uncovering better ways of developing software by doing it
Valgrind BoF Ideas, new features and directions
Valgrind BoF Ideas, new features and directions Everybody! Valgrind developers and users are encouraged to participate by joining the discussion. And of course by kindly (or bitterly:) complain about bugs
System Administration
Performance Monitoring For a server, it is crucial to monitor the health of the machine You need not only real time data collection and presentation but offline statistical analysis as well Characteristics
Hardware performance monitoring. Zoltán Majó
Hardware performance monitoring Zoltán Majó 1 Question Did you take any of these lectures: Computer Architecture and System Programming How to Write Fast Numerical Code Design of Parallel and High Performance
Linux Load Balancing
Linux Load Balancing Hyunmin Yoon 2 Load Balancing Linux scheduler attempts to evenly distribute load across CPUs Load of CPU (run queue): sum of task weights Load balancing is triggered by Timer interrupts
Hardware Breakpoint (or watchpoint) usage in Linux Kernel
Hardware Breakpoint (or watchpoint) usage in Linux Kernel Prasad Krishnan IBM Linux Technology Centre [email protected] Abstract The Hardware Breakpoint (also known as watchpoint or debug) registers,
Application-Level Debugging and Profiling: Gaps in the Tool Ecosystem. Dr Rosemary Francis, Ellexus
Application-Level Debugging and Profiling: Gaps in the Tool Ecosystem Dr Rosemary Francis, Ellexus For years instruction-level debuggers and profilers have improved in leaps and bounds. Similarly, system-level
A Survey of Linux Measurement and Diagnostic Tools
A Survey of Linux Measurement and Diagnostic Tools When the performance of your embedded Linux device is inadequate, how do you understand what the problem is? This presentation will provide an overview
Performance Monitor on PowerQUICC II Pro Processors
Freescale Semiconductor Application Note Document Number: AN3359 Rev. 0, 05/2007 Performance Monitor on PowerQUICC II Pro Processors by Harinder Rai Network Computing Systems Group Freescale Semiconductor,
Memory Management under Linux: Issues in Linux VM development
Memory Management under Linux: Issues in Linux VM development Christoph Lameter, Ph.D. Technical Lead, Linux Kernel Software Silicon Graphics Inc. [email protected] 2008-03-12 2008 SGI Sunnyvale, California
Power Management in the Linux Kernel
Power Management in the Linux Kernel Tate Hornbeck, Peter Hokanson 7 April 2011 Intel Open Source Technology Center Venkatesh Pallipadi Senior Staff Software Engineer 2001 - Joined Intel Processor and
Perfmon2: a standard performance monitoring interface for Linux. Stéphane Eranian <[email protected]>
Perfmon2: a standard performance monitoring interface for Linux Stéphane Eranian Agenda PMU-based performance monitoring Overview of the interface Current status Tools Challenges 2
Common clock framework: how to use it
Embedded Linux Conference 2013 Common clock framework: how to use it Gregory CLEMENT Free Electrons [email protected] Free Electrons. Kernel, drivers and embedded Linux development, consulting,
Computer Systems II. Unix system calls. fork( ) wait( ) exit( ) How To Create New Processes? Creating and Executing Processes
Computer Systems II Creating and Executing Processes 1 Unix system calls fork( ) wait( ) exit( ) 2 How To Create New Processes? Underlying mechanism - A process runs fork to create a child process - Parent
Best Practices on monitoring Solaris Global/Local Zones using IBM Tivoli Monitoring
Best Practices on monitoring Solaris Global/Local Zones using IBM Tivoli Monitoring Document version 1.0 Gianluca Della Corte, IBM Tivoli Monitoring software engineer Antonio Sgro, IBM Tivoli Monitoring
Safety measures in Linux
S a f e t y m e a s u r e s i n L i n u x Safety measures in Linux Krzysztof Lichota [email protected] A g e n d a Standard Unix security measures: permissions, capabilities, ACLs, chroot Linux kernel
Virtual Private Systems for FreeBSD
Virtual Private Systems for FreeBSD Klaus P. Ohrhallinger 06. June 2010 Abstract Virtual Private Systems for FreeBSD (VPS) is a novel virtualization implementation which is based on the operating system
W4118 Operating Systems. Junfeng Yang
W4118 Operating Systems Junfeng Yang Outline Linux overview Interrupt in Linux System call in Linux What is Linux A modern, open-source OS, based on UNIX standards 1991, 0.1 MLOC, single developer Linus
ANDROID DEVELOPER TOOLS TRAINING GTC 2014. Sébastien Dominé, NVIDIA
ANDROID DEVELOPER TOOLS TRAINING GTC 2014 Sébastien Dominé, NVIDIA AGENDA NVIDIA Developer Tools Introduction Multi-core CPU tools Graphics Developer Tools Compute Developer Tools NVIDIA Developer Tools
For a 64-bit system. I - Presentation Of The Shellcode
#How To Create Your Own Shellcode On Arch Linux? #Author : N3td3v!l #Contact-mail : [email protected] #Website : Nopotm.ir #Spcial tnx to : C0nn3ct0r And All Honest Hackerz and Security Managers I - Presentation
Version Control with Svn, Git and git-svn. Kate Hedstrom ARSC, UAF
1 Version Control with Svn, Git and git-svn Kate Hedstrom ARSC, UAF 2 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last
Kernel Optimizations for KVM. Rik van Riel Senior Software Engineer, Red Hat June 25 2010
Kernel Optimizations for KVM Rik van Riel Senior Software Engineer, Red Hat June 25 2010 Kernel Optimizations for KVM What is virtualization performance? Benefits of developing both guest and host KVM
An Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
Version Control with Git. Kate Hedstrom ARSC, UAF
1 Version Control with Git Kate Hedstrom ARSC, UAF Linus Torvalds 3 Version Control Software System for managing source files For groups of people working on the same code When you need to get back last
perfmon2: a flexible performance monitoring interface for Linux perfmon2: une interface flexible pour l'analyse de performance sous Linux
perfmon2: a flexible performance monitoring interface for Linux perfmon2: une interface flexible pour l'analyse de performance sous Linux Stéphane Eranian HP Labs July 2006 Ottawa Linux Symposium 2006
Compilers and Tools for Software Stack Optimisation
Compilers and Tools for Software Stack Optimisation EJCP 2014 2014/06/20 [email protected] Outline Compilers for a Set-Top-Box Compilers Potential Auto Tuning Tools Dynamic Program instrumentation
10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details
Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting
Eloquence Training What s new in Eloquence B.08.00
Eloquence Training What s new in Eloquence B.08.00 2010 Marxmeier Software AG Rev:100727 Overview Released December 2008 Supported until November 2013 Supports 32-bit and 64-bit platforms HP-UX Itanium
CS5460: Operating Systems. Lecture: Virtualization 2. Anton Burtsev March, 2013
CS5460: Operating Systems Lecture: Virtualization 2 Anton Burtsev March, 2013 Paravirtualization: Xen Full virtualization Complete illusion of physical hardware Trap _all_ sensitive instructions Virtualized
Toasterkit - A NetBSD Rootkit. Anthony Martinez Thomas Bowen http://mrtheplague.net/toasterkit/
Toasterkit - A NetBSD Rootkit Anthony Martinez Thomas Bowen http://mrtheplague.net/toasterkit/ Toasterkit - A NetBSD Rootkit 1. Who we are 2. What is NetBSD? Why NetBSD? 3. Rootkits on NetBSD 4. Architectural
Jorix kernel: real-time scheduling
Jorix kernel: real-time scheduling Joris Huizer Kwie Min Wong May 16, 2007 1 Introduction As a specialized part of the kernel, we implemented two real-time scheduling algorithms: RM (rate monotonic) and
Linux Process Scheduling. sched.c. schedule() scheduler_tick() hooks. try_to_wake_up() ... CFS CPU 0 CPU 1 CPU 2 CPU 3
Linux Process Scheduling sched.c schedule() scheduler_tick() try_to_wake_up() hooks RT CPU 0 CPU 1 CFS CPU 2 CPU 3 Linux Process Scheduling 1. Task Classification 2. Scheduler Skeleton 3. Completely Fair
KVM PERFORMANCE IMPROVEMENTS AND OPTIMIZATIONS. Mark Wagner Principal SW Engineer, Red Hat August 14, 2011
KVM PERFORMANCE IMPROVEMENTS AND OPTIMIZATIONS Mark Wagner Principal SW Engineer, Red Hat August 14, 2011 1 Overview Discuss a range of topics about KVM performance How to improve out of the box experience
Linux Scheduler. Linux Scheduler
or or Affinity Basic Interactive es 1 / 40 Reality... or or Affinity Basic Interactive es The Linux scheduler tries to be very efficient To do that, it uses some complex data structures Some of what it
Perfmon2: a flexible performance monitoring interface for Linux
Perfmon2: a flexible performance monitoring interface for Linux Stéphane Eranian HP Labs [email protected] Abstract Monitoring program execution is becoming more than ever key to achieving world-class
Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat
Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat Why Computers Are Getting Slower The traditional approach better performance Why computers are
Real-time KVM from the ground up
Real-time KVM from the ground up KVM Forum 2015 Rik van Riel Red Hat Real-time KVM What is real time? Hardware pitfalls Realtime preempt Linux kernel patch set KVM & qemu pitfalls KVM configuration Scheduling
Oracle Database Scalability in VMware ESX VMware ESX 3.5
Performance Study Oracle Database Scalability in VMware ESX VMware ESX 3.5 Database applications running on individual physical servers represent a large consolidation opportunity. However enterprises
ORACLE OPS CENTER: PROVISIONING AND PATCH AUTOMATION PACK
ORACLE OPS CENTER: PROVISIONING AND PATCH AUTOMATION PACK KEY FEATURES PROVISION FROM BARE- METAL TO PRODUCTION QUICKLY AND EFFICIENTLY Controlled discovery with active control of your hardware Automatically
Practical Applications of Virtualization. Mike Phillips <[email protected]> IAP 2008 SIPB IAP Series http://stuff.mit.edu/iap/ http://stuff.mit.
Practical Applications of Virtualization Mike Phillips IAP 2008 SIPB IAP Series http://stuff.mit.edu/iap/ http://stuff.mit.edu/sipb/ Some Guy Rambling About Virtualization Stuff He's Read
Operating System and Process Monitoring Tools
http://www.cse.wustl.edu/~jain/cse567-06/ftp/os_monitors/index.html 1 of 12 Operating System and Process Monitoring Tools Arik Brooks, [email protected] Abstract: Monitoring the performance of operating systems
RED HAT DEVELOPER TOOLSET Build, Run, & Analyze Applications On Multiple Versions of Red Hat Enterprise Linux
RED HAT DEVELOPER TOOLSET Build, Run, & Analyze Applications On Multiple Versions of Red Hat Enterprise Linux Dr. Matt Newsome Senior Engineering Manager, Tools RED HAT ENTERPRISE LINUX RED HAT DEVELOPER
Multi-Threading Performance on Commodity Multi-Core Processors
Multi-Threading Performance on Commodity Multi-Core Processors Jie Chen and William Watson III Scientific Computing Group Jefferson Lab 12000 Jefferson Ave. Newport News, VA 23606 Organization Introduction
Linux Scheduler Analysis and Tuning for Parallel Processing on the Raspberry PI Platform. Ed Spetka Mike Kohler
Linux Scheduler Analysis and Tuning for Parallel Processing on the Raspberry PI Platform Ed Spetka Mike Kohler Outline Abstract Hardware Overview Completely Fair Scheduler Design Theory Breakdown of the
More on Pipelining and Pipelines in Real Machines CS 333 Fall 2006 Main Ideas Data Hazards RAW WAR WAW More pipeline stall reduction techniques Branch prediction» static» dynamic bimodal branch prediction
Implementing Probes for J2EE Cluster Monitoring
Implementing s for J2EE Cluster Monitoring Emmanuel Cecchet, Hazem Elmeleegy, Oussama Layaida, Vivien Quéma LSR-IMAG Laboratory (CNRS, INPG, UJF) - INRIA INRIA Rhône-Alpes, 655 av. de l Europe, 38334 Saint-Ismier
In order to upload a VM you need to have a VM image in one of the following formats:
What is VM Upload? 1. VM Upload allows you to import your own VM and add it to your environment running on CloudShare. This provides a convenient way to upload VMs and appliances which were already built.
Also on the Performance tab, you will find a button labeled Resource Monitor. You can invoke Resource Monitor for additional analysis of the system.
1348 CHAPTER 33 Logging and Debugging Monitoring Performance The Performance tab enables you to view the CPU and physical memory usage in graphical form. This information is especially useful when you
Introduction to Version Control
Research Institute for Symbolic Computation Johannes Kepler University Linz, Austria Winter semester 2014 Outline General Remarks about Version Control 1 General Remarks about Version Control 2 Outline
NetBeans Profiler is an
NetBeans Profiler Exploring the NetBeans Profiler From Installation to a Practical Profiling Example* Gregg Sporar* NetBeans Profiler is an optional feature of the NetBeans IDE. It is a powerful tool that
Chapter 5 Linux Load Balancing Mechanisms
Chapter 5 Linux Load Balancing Mechanisms Load balancing mechanisms in multiprocessor systems have two compatible objectives. One is to prevent processors from being idle while others processors still
Pinos. Wim Taymans. Principal Software Engineer October 8, 2015. Wim Taymans. Gstreamer Conference Dublin
Pinos Principal Software Engineer October 8, 2015 1 Pinos what Daemon that manages access to multimedia streams Capture streams (from v4l2, pulseaudio, ) Upload streams 2 Pinos history GStreamer conference
Local and Remote Memory: Memory in a Linux/NUMA System
SGI 2006 Remote and Local Memory 1 Local and Remote Memory: Memory in a Linux/NUMA System Jun 20 th, 2006 by Christoph Lameter, Ph.D. [email protected] 2006 Silicon Graphics, Inc. Memory seems to be
Removing The Linux Routing Cache
Removing The Red Hat Inc. Columbia University, New York, 2012 Removing The 1 Linux Maintainership 2 3 4 5 Removing The My Background Started working on the kernel 18+ years ago. First project: helping
Unix Security Technologies: Host Security Tools. Peter Markowsky <peterm[at]ccs.neu.edu>
Unix Security Technologies: Host Security Tools Peter Markowsky Syllabus An Answer to last week s assignment Four tools SSP W^X PaX Systrace Last time You were assigned to get a
Introducing the IBM Software Development Kit for PowerLinux
Introducing the IBM Software Development Kit for PowerLinux Wainer S. Moschetta IBM, PowerLinux SDK Team Leader [email protected] 1 2009 IBM Acknowledgments The information in this presentation was created
MONITORING PERFORMANCE IN WINDOWS 7
MONITORING PERFORMANCE IN WINDOWS 7 Performance Monitor In this demo we will take a look at how we can use the Performance Monitor to capture information about our machine performance. We can access Performance
Type-C Hypervisors. @DustinKirkland Ubuntu Product & Strategy Canonical Ltd.
Type-C Hypervisors @DustinKirkland Ubuntu Product & Strategy Canonical Ltd. Canonical is the company behind Ubuntu 2004 600+ FOUNDATION EMPLOYEES 30+ COUNTRIES London Beijing Boston Shanghai Taipei What
System Requirements and Platform Support Guide
Foglight 5.6.7 System Requirements and Platform Support Guide 2013 Quest Software, Inc. ALL RIGHTS RESERVED. This guide contains proprietary information protected by copyright. The software described in
Git Basics. Christopher Simpkins [email protected]. Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22
Git Basics Christopher Simpkins [email protected] Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS 1331 1 / 22 Version Control Systems Records changes to files over time Allows you to
Lab 2 : Basic File Server. Introduction
Lab 2 : Basic File Server Introduction In this lab, you will start your file system implementation by getting the following FUSE operations to work: CREATE/MKNOD, LOOKUP, and READDIR SETATTR, WRITE and
RED HAT ENTERPRISE VIRTUALIZATION
Giuseppe Paterno' Solution Architect Jan 2010 Red Hat Milestones October 1994 Red Hat Linux June 2004 Red Hat Global File System August 2005 Red Hat Certificate System & Dir. Server April 2006 JBoss April
Nested Virtualization
Nested Virtualization State of the art and future directions Bandan Das Yang Z Zhang Jan Kiszka 2 Outline Introduction Changes and Missing Features for AMD Changes and Missing Features for Intel Working
If you re the unofficial administrator of your home or small
C H A P T E R Monitoring Your Network If you re the unofficial administrator of your home or small office network, I imagine you re already saddled with a fairly long to-do list of network chores: adding
Kerrighed / XtreemOS cluster flavour
Kerrighed / XtreemOS cluster flavour Jean Parpaillon Reisensburg Castle Günzburg, Germany July 5-9, 2010 July 6th, 2010 Kerrighed - XtreemOS cluster flavour 1 Summary Kerlabs Context Kerrighed Project
Xen and XenServer Storage Performance
Xen and XenServer Storage Performance Low Latency Virtualisation Challenges Dr Felipe Franciosi XenServer Engineering Performance Team e-mail: [email protected] freenode: felipef #xen-api twitter:
PARALLELS SERVER 4 BARE METAL README
PARALLELS SERVER 4 BARE METAL README This document provides the first-priority information on Parallels Server 4 Bare Metal and supplements the included documentation. TABLE OF CONTENTS 1 About Parallels
Managing your Red Hat Enterprise Linux guests with RHN Satellite
Managing your Red Hat Enterprise Linux guests with RHN Satellite Matthew Davis, Level 1 Production Support Manager, Red Hat Brad Hinson, Sr. Support Engineer Lead System z, Red Hat Mark Spencer, Sr. Solutions
Technical Paper. Moving SAS Applications from a Physical to a Virtual VMware Environment
Technical Paper Moving SAS Applications from a Physical to a Virtual VMware Environment Release Information Content Version: April 2015. Trademarks and Patents SAS Institute Inc., SAS Campus Drive, Cary,
Enterprise Manager Performance Tips
Enterprise Manager Performance Tips + The tips below are related to common situations customers experience when their Enterprise Manager(s) are not performing consistent with performance goals. If you
The QEMU/KVM Hypervisor
The /KVM Hypervisor Understanding what's powering your virtual machine Dr. David Alan Gilbert [email protected] 2015-10-14 Topics Hypervisors and where /KVM sits Components of a virtual machine KVM Devices:
Computer Architecture. Secure communication and encryption.
Computer Architecture. Secure communication and encryption. Eugeniy E. Mikhailov The College of William & Mary Lecture 28 Eugeniy Mikhailov (W&M) Practical Computing Lecture 28 1 / 13 Computer architecture
