发明名称 Facilitating profiling of applications for efficient loading
摘要 Systems and methods to facilitate profiling of applications for efficient loading are described. A method may include identifying a page fault during execution of an application being loaded into memory. The page fault indicates that an application part to be currently executed has not been loaded in the memory yet. The method may further include collecting page fault data associated with the page fault, and causing the page fault data to be stored in a data store for use by a profiler.
申请公布号 US9201793(B2) 申请公布日期 2015.12.01
申请号 US200812156355 申请日期 2008.05.30
申请人 Red Hat, Inc. 发明人 Schneider James P.
分类号 G06F12/08;G06F9/445 主分类号 G06F12/08
代理机构 Lowenstein Sandler LLP 代理人 Lowenstein Sandler LLP
主权项 1. A method comprising: identifying, by an operating system, a page fault during an execution of an application being loaded into a memory while the execution of the application is not being analyzed by a profiler, the page fault indicating that a part of one or more images of the application being currently executed has not been loaded into the memory yet; collecting, by the operating system, page fault data associated with the page fault, and storing the page fault data in a kernel buffer, the page fault data identifying the part of the one or more images used to satisfy the page fault, wherein the page fault data is collected by a page fault data collector of the operating system while the execution of the application is not being analyzed by the profiler; periodically writing, by a processing device executing the operating system, the page fault data from the kernel buffer to a data store for subsequent profiling of the application by the profiler, the page fault data causing the profiler to determine a preferred sequence of sub-routines within the one or more images of the application for loading of the application into the memory; and iteratively repeating, by the operating system, the collecting of the page fault data, the storing of the page fault data in the kernel buffer and the writing of the page fault data from the kernel buffer to the data store for the profiler, wherein the collecting, the storing and the writing are iteratively repeated by the operating system until a profiler-determined preferred sequence of the sub-routines within the one or more images of the application results in not more than N number of page faults occurring during the loading of the application.
地址 Raleigh NC US