From c6df29618869defccf3d94138d56223ceee1267d Mon Sep 17 00:00:00 2001 From: aodongbiao Date: Sun, 23 Apr 2023 08:55:26 +0000 Subject: [PATCH] [rom_ram_analyzer]Unify the units into byte Signed-off-by: aodongbiao --- tools/rom_ram_analyzer/standard/README.md | 10 ++++++---- tools/rom_ram_analyzer/standard/ram_analyzer.py | 9 +++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/tools/rom_ram_analyzer/standard/README.md b/tools/rom_ram_analyzer/standard/README.md index 6a11151..7d48d2d 100644 --- a/tools/rom_ram_analyzer/standard/README.md +++ b/tools/rom_ram_analyzer/standard/README.md @@ -65,9 +65,9 @@ ```json { 子系统名: { - "size": 整个子系统输出文件的总大小, + "size": 整个子系统输出文件的总大小(单位:字节), "file_count": 整个子系统产生的文件数, - 输出文件名: 本文件的大小, + 输出文件名: 本文件的大小(单位:字节), ... }, ... @@ -84,6 +84,8 @@ 基于out/{product_name}/packages/phone下所有cfg文件、out/{product_name}/packages/phone/system/profile下所有xml文件,分析各进程及对应部件的ram占用(默认取Pss) +可供参考命令:`mkdir xml && cp $(find ~/oh/out/rk3568/packages/phone/system/profile -name *.xml | xargs) xml` + 结果以json与xls格式存储,其中,json格式是必输出的,xls格式需要-e参数控制。 ## 使用说明 @@ -139,10 +141,10 @@ ```json { 进程名:{ - "size": 本进程占用内存的大小, + "size": 本进程占用内存的大小(单位:字节), 子系统名: { 部件名: { - elf文件名: elf文件大小 + elf文件名: elf文件大小(单位:字节) ... } ... diff --git a/tools/rom_ram_analyzer/standard/ram_analyzer.py b/tools/rom_ram_analyzer/standard/ram_analyzer.py index 20a584d..8d98fc4 100644 --- a/tools/rom_ram_analyzer/standard/ram_analyzer.py +++ b/tools/rom_ram_analyzer/standard/ram_analyzer.py @@ -109,6 +109,7 @@ class RamAnalyzer: for lname in __process_name_list: if lname.startswith(hname): return lname + return str() def process_ps_ef(content: str) -> list: line_list = content.strip().split("\n")[1:] @@ -136,8 +137,12 @@ class RamAnalyzer: if not processed or not processed[0].isnumeric(): # 如果第一列不是数字(pid),就过 continue name = processed[1] # 否则的话就取名字,和对应的size - size = int(processed[cls.__ss_dict.get(ss)]) - process_pss_dict[find_full_process_name(name)] = size + size = int(processed[cls.__ss_dict.get(ss)])*1024 # kilo byte to byte + full_process_name = find_full_process_name(name) + if not full_process_name: + print(f"warning: process \"{full_process_name}\" not found in not found int the result of command \"ps -ef\"") + continue + process_pss_dict[full_process_name] = size return process_pss_dict @classmethod -- Gitee