smem: understanding memory usage

Slides:



Advertisements
Similar presentations
Microsoft Project Tutorial for Chapters 6 & 7
Advertisements

KompoZer. This is what KompoZer will look like with a blank document open. As you can see, there are a lot of icons for beginning users. But don't be.
Why ROOT?. ROOT ROOT: is an object_oriented frame work aimed at solving the data analysis challenges of high energy physics Object _oriented: by encapsulation,
CS320n – Elements of Visual Programming Introduction to Alice Mike Scott (Slides 1-1)
Tools for Investigating Graphics System Performance
Introductory CMS Training Welcome to the new Montana State University Content Management System!
LEARN THE QUICK AND EASY WAY! VISUAL QUICKSTART GUIDE HTML and CSS 8th Edition Chapter 21: Publishing Your Pages on the Web.
Offline Performance Monitoring for Linux Abhishek Shukla.
CELF Contract Work Update on CELF Projects Tim Bird - CELF AG Chair.
September 20, CELF Project BOF Tim Bird CELF Architecture Group Chair.
Git – versioning and managing your software L. Grewe.
VoiceThread Created by Russell Smith Technology Facilitator North Edgecombe High School.
Chris Marks. 1.1 I can describe what types of information are needed. Logo Idea 1 I do not want this logo to be my final logo because it looks rubbish.
UT-Reports.
Lecture Topics: 11/17 Page tables TLBs Virtual memory flat page tables
SAS SVG(Scalable Vector Graphics) Application in Statistics Student-ID: B Name: 陳佑逸 Instructor: 莊庭瑞 教授.
Go to your school’s web locker site Your user name is the first letter of your first name, the first four letters of.
Unit 1 – Improving Productivity Instructions ~ 100 words per box.
How To Look Like An All-Star on LinkedIn Presented By: Cody Pierson.
AGB 3/26/121 ++=. 2 Yes, believe it or not this is a complete webpage. It has a Head, Title and Body between the start and end HTML Tag.
Summer Project Marama2008 By Robert and Johnson. What is Marama? Marama is an Eclipses based toolset permits rapid specification of notational elements,
Objectives Of Output Design Systems Analysis And Design © Systems Analysis And Design © V. Rajaraman 12 of 29 While designing output format and picking.
OPERATING SYSTEM BY KINSHUK RASTOGI. WHAT IS AN OPERATING SYSTEM? What is an operating system in the first place? An operating system is a software that.
12-Jun-16 Event loops. 2 Programming in prehistoric times Earliest programs were all “batch” processing There was no interaction with the user Input Output.
Guidelines for building a bar graph in Excel and using it in a laboratory report IB Biology (December 2012)
More Graphics. Hit Testing Mouse clicked here What did I click on?
AP CSP: Cleaning Data & Creating Summary Tables
Essentials of UrbanCode Deploy v6.1 QQ147
Exploring and Presenting Results
Winter break Newsletter assignment directions:
Contributing to the WCARC Website
VOs and ARC Florido Paganelli, Lund University
Lesson Objectives Aims You should be able to:
Business Intelligence 101
Event loops 16-Jun-18.
Delphi or C++ Builder, with Subversion and Jenkins
CS 425 / ECE 428 Distributed Systems Fall 2016 Nov 10, 2016
Using Microsoft Identity Manger with SharePoint 2016 to fill the User Profile Sync Gap Max Fritz Senior Systems Consultant Now Micro.
Leveraging BI in SharePoint with PowerPivot and Power View
CS5220 Advanced Topics in Web Programming Version Control with Git
CSE451 I/O Systems and the Full I/O Path Autumn 2002
Operating Systems Overview
CS 425 / ECE 428 Distributed Systems Fall 2017 Nov 16, 2017
Penguin Weight Watchers
Create your Benner - intro
SIRS Title of Interaction
QM222 A1 Visualizing data using Excel graphs
Linternals SysInternals for Linux
CISC/CMPE320 - Prof. McLeod
3D IN THE CLOUD Ray Kaplan - synglyphx.
Richland 1 professional development
Event loops.
Goals for the session Learn how the philosophical shift in the way we teach math affects the way we teach basic facts Learn some effective strategies for.
Android Topics UI Thread and Limited processing resources
Prolog to Lecture 2 CS 236 On-Line MS Program Networks and Systems Security Peter Reiher Spring, 2008.
Event loops 17-Jan-19.
Event loops 17-Jan-19.
Git CS Fall 2018.
Which graph should I use?
CS Lab Usage Logan Balow.
Event loops 8-Apr-19.
Tiffany Ong, Rushali Patel, Colin Dolese, Joseph Lim
□=3 10-□=6 10-□=4 10-□=9 10-□=10 10-□=5 10-□=
Low-Fi Prototype and Testing
Event loops.
Some bugs in BesVis Long Peixun
TracCloud.
Event loops.
TABLEAU ACTIONS Today we are going to cover the five different actions within Tableau. Actions in Tableau are very important as they make the dashboard.
Event loops 19-Aug-19.
Presentation transcript:

smem: understanding memory usage Matt Mackall Selenic Consulting with support from CELF

The Accounting Problem We save memory by sharing it between processes ...but we count that memory multiple times when reporting it ...and we allocate more memory than is actually available The numbers don't add up! Users and developers can't get a good sense of how memory is used They end up bailing out the system by throwing more memory at it

Pagemap and friends In 2007, I attacked this problem from the kernel side with pagemap The pagemap interface exposes the mapping from virtual to physical memory and other details Along the way, two new concepts: PSS (Proportional Set Size) a mapping's fair share of shared memory USS (Unique Set Size) a mapping's non-overlapping memory usage ...and some proof-of-concept graphical tools

And then... I submitted pagemap support to the mainstream kernel Got lots of contributions from other developers Added direct PSS calculation Redesigned most of the code and interfaces Many embarrassing bugs added and discovered Linus: “This is crap!” Along the way, all my demo tools broke No one published tools for users!

Take 2 Let's write a useful tool and hope it catches on Let's submit a talk proposal to make sure I actually work on it Let's put visualization in the title to give ourselves a challenge

Introducing smem Uses many data sources including /proc/pid/smaps Multiple views Multiple filters Useful to developers, admins, and users

Capturing data We want snapshotting We want remote data sources So we allow a flexible scheme for capturing data Smem can currently read from directory mirrors and compressed tarballs

System-wide view There's more to the system than userspace What's kernel memory and what's user memory? How much of it is just cache? The kernel doesn't provide enough information (yet) But we can fill in some of the gaps

Visualization (pretty pictures) All smem's output can be converted to interactive pie and bar charts Can be saved as EPS, PNG, SVG, JPG, etc.

Wish list (how you can help) Users! Better capture tools (TCP, anyone?) More data (CPU usage, dirty memory, etc.) Better data from the kernel Interactive GUI More options Improved visualization

Getting smem v0.1 http://selenic.com/smem/