Starting with SystemTap
As I stare at this blank screen to start writing my first blog entry I have that same feeling that so many developers have when starting with an unfamiliar programming language or application. The...
View ArticleDive deeper in NUMA systems
A common performance related issue we are seeing is how certain instructions are causing bottlenecks. Sometimes it just doesn’t make sense. Especially when it involves lots of threads or shared...
View ArticleProfiling Python Programs
For RHEL6 and newer distributions tools are available to profile Python code and to generate dynamic call graphs of a program’s execution. Flat profiles can be obtained with the cProfile module and...
View ArticleProfiling Ruby Programs
The Ruby Interpreter includes a profiling tool which is invoked with the -rprofile option on the command line. Below is an example running the Ruby Fibonacci program (fib.rb) included in Ruby...
View ArticleDetermining whether an application has poor cache performance
Modern computer systems include cache memory to hide the higher latency and lower bandwidth of RAM memory from the processor. The cache has access latencies ranging from a few processor cycles to ten...
View ArticleExamining Huge Pages or Transparent Huge Pages performance
All modern processors use page-based mechanisms to translate the user-space processes virtual addresses into physical addresses for RAM. The pages are commonly 4KB in size and the processor can hold a...
View ArticleWhich tasks are periodically taking processor time?
When running a latency-sensitive application one might notice that on a regular basis (for example every 5 minutes) there is a delay. The SystemTap periodic.stp script can provide some possible causes...
View Article
More Pages to Explore .....