- 论坛徽章:
- 1
|
帖子发错位置了.
请抓到隔壁房间:
http://bbs.chinaunix.net/thread-4291127-1-1.html
请教下:
下文测试代码中, 我多行匹配, 但是匹配到的结果有错误.(用红字标出)
我只想要Total PSS by category:下面几行的内容.
因为有干扰项, 我没办法排除, 请赐教!
- import re
- import logging
- import csv
- log_level = logging.WARNING
- # log_level = logging.INFO
- log_level = logging.NOTSET
- logging.basicConfig(format='%(asctime)s %(message)s',level=log_level)
- test_str = '''
- Total PSS by OOM adjustment:
- 503,841K: Native
- Total PSS by category:
- 366,458K: Native
- 254,224K: .dex mmap
- 156,044K: .so mmap
- 97,988K: Dalvik
- 97,829K: .apk mmap
- 83,928K: GL mtrack
- 66,618K: .oat mmap
- 56,504K: .art mmap
- 55,068K: EGL mtrack
- 49,107K: Unknown
- 33,957K: Dalvik Other
- 20,235K: Stack
- 15,188K: Gfx dev
- 14,354K: Other mmap
- 3,805K: .ttf mmap
- 1,519K: Other dev
- 1,236K: Ashmem
- 382K: .jar mmap
- 0K: Cursor
- 0K: Other mtrack
- Total RAM: 2,837,896K (status normal)
- Free RAM: 945,990K ( 86,006K cached pss + 609,816K cached kernel + 250,168K free)
- Used RAM: 1,707,024K (1,390,932K used pss + 316,092K kernel)
- Lost RAM: 143,483K
- ZRAM: 44,524K physical used for 123,176K in swap ( 786,428K total swap)
- Total PSS by OOM adjustment:
- 472,309K: Native
- Total PSS by category:
- 350,803K: Native
- 284,120K: .dex mmap
- 154,923K: .so mmap
- 132,952K: GL mtrack
- 109,226K: .apk mmap
- 109,194K: Dalvik
- 66,826K: .oat mmap
- 57,492K: .art mmap
- 55,068K: EGL mtrack
- 52,817K: Unknown
- 35,966K: Dalvik Other
- 20,268K: Stack
- 14,475K: Other mmap
- 13,752K: Gfx dev
- 3,790K: .ttf mmap
- 1,509K: Other dev
- 1,360K: Ashmem
- 361K: .jar mmap
- 0K: Cursor
- 0K: Other mtrack
- Total RAM: 2,837,896K (status normal)
- Free RAM: 946,064K ( 140,720K cached pss + 723,396K cached kernel + 81,948K free)
- Used RAM: 1,741,513K (1,428,733K used pss + 312,780K kernel)
- Lost RAM: 111,666K
- ZRAM: 44,524K physical used for 123,160K in swap ( 786,428K total swap)
- '''
- def get_RAM(match_str):
- pattern = re.compile(r'%s *([0-9,]*)K' % match_str)
- ram_kb = pattern.findall((test_str).replace(",", ""))
- logging.warning("%s: %s" % (match_str, ram_kb))
- return ram_kb
- def get_pss_by_category(match_str):
- pattern = re.compile(r' *([0-9,]*)K%s' % match_str)
- ram_kb = pattern.findall((test_str).replace(",", ""))
- logging.warning("%s: %s" % (match_str, ram_kb))
- return ram_kb
- def get_dumpsys_meminfo():
- li_ram_name = [
- "Total RAM:",
- "Free RAM:",
- "Used RAM:",
- "Lost RAM:"
- ]
- li_pss_category_name = [
- ": Native",
- ": .dex mmap",
- ": .so mmap",
- ": GL mtrack",
- ": Dalvik",
- ": .apk mmap",
- ": .oat mmap",
- ": .art mmap",
- ": EGL mtrack",
- ": Unknown",
- ": Dalvik Other",
- ": Stack",
- ": Other mmap",
- ": Gfx dev",
- ": .ttf mmap",
- ": Other dev",
- ": Ashmem",
- ": .jar mmap"
- ]
- for index, str in enumerate(li_ram_name):
- data = get_RAM(str)
- for index, str in enumerate(li_pss_category_name):
- data = get_pss_by_category(str)
- get_dumpsys_meminfo()
[color=rgb(51, 102, 153) !important]复制代码
测试结果:
2017-12-12 15:36:52,118 Total RAM:: ['2837896', '2837896']
2017-12-12 15:36:52,118 Free RAM:: ['945990', '946064']
2017-12-12 15:36:52,118 Used RAM:: ['1707024', '1741513']
2017-12-12 15:36:52,119 Lost RAM:: ['143483', '111666']
2017-12-12 15:36:52,119 : Native: ['503841', '366458', '472309', '350803']
2017-12-12 15:36:52,119 : .dex mmap: ['254224', '284120']
2017-12-12 15:36:52,120 : .so mmap: ['156044', '154923']
2017-12-12 15:36:52,120 : GL mtrack: ['83928', '132952']
2017-12-12 15:36:52,120 : Dalvik: ['97988', '33957', '109194', '35966']
2017-12-12 15:36:52,121 : .apk mmap: ['97829', '109226']
2017-12-12 15:36:52,121 : .oat mmap: ['66618', '66826']
2017-12-12 15:36:52,122 : .art mmap: ['56504', '57492']
2017-12-12 15:36:52,122 : EGL mtrack: ['55068', '55068']
2017-12-12 15:36:52,122 : Unknown: ['49107', '52817']
2017-12-12 15:36:52,123 : Dalvik Other: ['33957', '35966']
2017-12-12 15:36:52,123 : Stack: ['20235', '20268']
2017-12-12 15:36:52,124 : Other mmap: ['14354', '14475']
2017-12-12 15:36:52,124 : Gfx dev: ['15188', '13752']
2017-12-12 15:36:52,124 : .ttf mmap: ['3805', '3790']
2017-12-12 15:36:52,125 : Other dev: ['1519', '1509']
2017-12-12 15:36:52,125 : Ashmem: ['1236', '1360']
2017-12-12 15:36:52,125 : .jar mmap: ['382', '361']
BRs
Eismog
|
|