显示给定进程内存地址的使用情况

show_maps_range.py

import os
import re
import sys

def get_map_range(map_range):
    map_ranges = map_range.split("-")
    range_from = int(map_ranges[0], 16)
    range_to = int(map_ranges[1], 16)
    return (range_from, range_to)
    
def show_threads_stack_info(pid, arg_range_from, arg_range_to, verbose=False):
    proc_map_file_name = "/proc/{}/maps".format(pid) 
    proc_map_file = open(proc_map_file_name, 'r')
    map_ranges = []
    while True:
        line = proc_map_file.readline()
        if not line:
            break
        map_range = line.split()[0]
        (range_from, range_to) = get_map_range(map_range)
        map_ranges.append((map_range, range_from, range_to))

    totalSizeKB = 0
    totalPssKB = 0

    for r in map_ranges:
        (map_range, range_from, range_to) = r
        if range_from>=arg_range_from and range_from  ")

if __name__ == "__main__":
    print(sys.argv)
    if len(sys.argv)!=4:
        usage()
    else:
        show_threads_stack_info(sys.argv[1], int(sys.argv[2],16),int(sys.argv[3],16), True)

你可能感兴趣的:(显示给定进程内存地址的使用情况)