Visualizing large page mappings : A tool to understand memory mappings of program

University essay from Uppsala universitet/Institutionen för informationsteknologi

Author: Robin Olsson; [2021]

Keywords: ;

Abstract: Larger page file sizes were introduced to increase the TLB's reach. Although using large pages might improve performance, it might also introduce performance degradation. With no available tools able to visualize how much large page allocation a program obtains and how a program handles large page mappings, the aim of this thesis is to develop such a program. The final result is a monitoring program, in an alpha-state, built in Python. It starts a program to monitor and uses several Linux kernel commands to gather page file data for the memory mappings of that program. In this thesis I discuss the inner workings of this monitoring program, its additional graph-building module, as well as how it can be used to monitor if and how a program benefits in using large page mappings and how much the frequency of large page promotion affects performance. I found that by using this monitoring program, in conjunction with the Linux command 'time', and the graphs produced by its graph-building module, it was possible to see why some programs benefited by different promotion frequencies. In short, the monitoring program can help users decide if large page support should be enabled, as well as optimized for the use of large pages.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)