| Podcast explores memory and kernel profilers |
Mar. 07, 2008
TimeSys has published another episode in its LinuxLink Radio series of free, half-hour podcasts about embedded Linux development. In Episode 30, Gene Sally and guest host Jeremiah Lott discuss profiling tools that can help to optimize the Linux kernel.
Sally and Lott start off "Profiling Tools -- Hardware Efficiency" by explaining that profilers enable developers to optimize performance when everything else has been tried. "They let you poke around and make intelligent changes," explains Sally.
"You're really stabbing in the dark without some good profiling tools," agrees Lott. "Otherwise, you have to try to guess where the problem is and you could end up wasting time changing code that was not that inefficient to begin with."
The two main profilers described are LTTng, which is based on LTT, and Oprofile. Together, Sally and Lott explain, these two profilers will serve most of a developer's needs for memory and kernel profiling.
  Linux Trace Toolkit, next generation (Click to enlarge)
LTTng, explains Sally, is a Linux trace toolkit, a set of patches that developers can add to the kernel to expose performance counters. Occasionally, the counters are collected so developers can track how each is "tickled." All this is communicated in a timeline interface that shows blow-by-blow stats. For example, says Sally, "It lets you spot interrupt handlers that are masking interrupts for too long."
  Oprofile output, system-wide and single-application (Click either to enlarge)
Whereas LTTng looks in detail at performance issues, Oprofile provides a bird's-eye view. "It tells you how much time the kernel is spending doing something on an aggregate basis, in percentages," says Sally. "It's pretty high level."
"There are times when you want a more aggregate view," says Lott. After examining the use of these profilers for kernel analysis, Sally describes their use "over in userland." Both tools, he says, "let you see kernel as they run normally, but you can also run the application and they will correctly tickle the files, and you can watch things go from userland into the kernel and back out again."
When using the profilers with applications, says Lott, "you can see the direct effect of your program in terms of sys calls in the kernel," he says. "And they can profile the whole system instead of just a single application."
Both developers agree that the best way to run profilers is to turn off all optimization. "It's a good way to analyze the generic logic of the program," says Lott.
The rest of the podcast covers a discussion of various other profilers, especially heat profilers which look for leaking memory. One particular good one they agree on is Electric Fence. They also agree, however, that most of the dozens that are available are pretty effective, one reason why some of the good ones "have been around since the Clinton administration," says Sally.
The podcast for LinuxLink's Episode 30, "Profiling Tools -- Hardware Efficiency," is available here.
Related Stories:
(Click here for further information)
|
|
|
FUEL Database on MontaVista Linux
Whether building a mobile handset, a car navigation system, a package tracking device, or a home entertainment console, developers need capable software systems, including an operating system, development tools, and supporting libraries, to gain maximum benefit from their hardware platform and to meet aggressive time-to-market goals.
Breaking New Ground: The Evolution of Linux Clustering
With a platform comprising a complete Linux distribution, enhanced for clustering, and tailored for HPC, Penguin Computing¿s Scyld Software provides the building blocks for organizations from enterprises to workgroups to deploy, manage, and maintain Linux clusters, regardless of their size.
Data Monitoring with NightStar LX
Unlike ordinary debuggers, NightStar LX doesn¿t leave you stranded in the dark. It¿s more than just a debugger, it¿s a whole suite of integrated diagnostic tools designed for time-critical Linux applications to reduce test time, increase productivity and lower costs. You can debug, monitor, analyze and tune with minimal intrusion, so you see real execution behavior. And that¿s positively illuminating.
Virtualizing Service Provider Networks with Vyatta
This paper highlights Vyatta's unique ability to virtualize networking functions using Vyatta's secure routing software in service provider environments.
High Availability Messaging Solution Using AXIGEN, Heartbeat and DRBD
This white paper discusses a high-availability messaging solution relying on the AXIGEN Mail Server, Heartbeat and DRBD. Solution architecture and implementation, as well as benefits of using AXIGEN for this setup are all presented in detail.
Understanding the Financial Benefits of Open Source
Will open source pay off? Open source is becoming standard within enterprises, often because of cost savings. Find out how much of a financial impact it can have on your organization. Get this methodology and calculator now, compliments of JBoss.
Embedded Hardware and OS Technology Empower PC-Based Platforms
The modern embedded computer is the jack of all trades appearing in many forms.
Data Management for Real-Time Distributed Systems
This paper provides an overview of the network-centric computing model, data distribution services, and distributed data management. It then describes how the SkyBoard integration and synchronization service, coupled with an implementation of the OMG¿s Data Distribution Service (DDS) standard, can be used to create an efficient data distribution, storage, and retrieval system.
7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.
|
|
|
|
|