首页 > 其他分享 >crash+awk:统计vma的大小

crash+awk:统计vma的大小

时间:2024-08-14 10:49:20浏览次数:11  
标签:bin crash 100073 200070 vma awk 70 vendor

正常的vm命令输出:

crash_new> vm
PID: 2380     TASK: ffffff88414bddc0  CPU: 5    COMMAND: "xxx"
       MM               PGD          RSS    TOTAL_VM
ffffff880a997c00  ffffff8825747000  16565804k  44535380k
      VMA           START       END     FLAGS FILE
ffffff8801f09258 5eef950000 5eef97b000     71 /vendor/bin/bdo
ffffff8801f09e10 5eef97b000 5eef9d9000     75 /vendor/bin/bdo
ffffff8801f09bb8 5eef9d9000 5eef9df000 100071 /vendor/bin/bdo
ffffff8801f09320 5eef9df000 5eef9e0000 100073 /vendor/bin/bdo
ffffff881552eed8 5eefa40000 5eefa43000 100073 /vendor/bin/bdo
ffffff8a7bc51bb8 74df600000 7e65e00000 100073
ffffff8a8f24abb8 7e65f08000 7ee3b08000 100073
ffffff8a82ec3578 7ee3b08000 7eea008000 100073
ffffff8024f17898 7eea008000 7eeab92000     70
ffffff8829eb5708 7eeab92000 7eeab94000 100073
ffffff8024f17a28 7eeab94000 7eeb296000     70
ffffff8801e5c4b0 7eeb296000 7eeb298000 100073
ffffff8829eb5898 7eeb298000 7eec132000     70
ffffff8826be2708 7eec132000 7eec134000 100073
ffffff8801e5c000 7eec134000 7eed612000     70
ffffff882575ca28 7eed612000 7eed614000 100073
ffffff881e308898 7eed614000 7eee57a000     70
ffffff882575c960 7eee57a000 7eee57c000 100073
ffffff881df37e10 7eee57c000 7eef008000     70
ffffff8801e5c190 7eef008000 7eef009000 200070
ffffff8801e5ce10 7eef009000 7eef105000 200073
ffffff8801e5cbb8 7eef105000 7eef107000 200070
ffffff882592b3e8 7eef107000 7eef203000 200073
ffffff8801e5c708 7eef203000 7eef205000 200070
ffffff882592b0c8 7eef205000 7eef301000 200073
ffffff882592b000 7eef301000 7eef303000 200070
ffffff880a27d7d0 7eef303000 7eef3ff000 200073
ffffff882592b578 7eef3ff000 7eef400000 200070
ffffff88299e13e8 7eef400000 7eefe00000 100073
ffffff882654f708 7eefe08000 7eefe09000 200070
...

有个需求,我想统计覆盖的虚拟地址最大的几个vma。

可以参考下面的命令:

vm | awk 'NR>=5 {vmas[$1]=strtonum("0x"$3)-strtonum("0x"$2)} END {for (vma in vmas) {printf "%s %x MB\n", vma, vmas[vma]/1024/1024}}' | sort -n  -k 2

这里用到的awk工具,其中由于vm列出的地址范围是按16进制输出的,所以需要使用strtonum先转换为10进制,然后再做减法。

标签:bin,crash,100073,200070,vma,awk,70,vendor
From: https://www.cnblogs.com/pengdonglin137/p/18358432

相关文章

  • Linux系统中的管道命令、grep命令、sed命令和awk命令
    本章将和大家分享Linux系统中的管道命令、grep命令、sed命令和awk命令。废话不多说,下面我们直接进入主题。一、管道命令Linux中的管道命令(pipe)是一种非常强大的特性,它允许你将一个命令的输出作为另一个命令的输入。管道命令极大地增强了命令行的灵活性和功能,使得复杂的数据处理......
  • 多元时间序列分析统计学基础:基本概念、VMA、VAR和VARMA
    多元时间序列是一个在大学课程中经常未被提及的话题。但是现实世界的数据通常具有多个维度,所以需要多元时间序列分析技术。在这文章我们将通过可视化和Python实现来学习多元时间序列概念。这里假设读者已经了解单变量时间序列分析。1、什么是多元时间序列?顾名思义,多元时间序列是......
  • Linux Shell编程--正则表达式、grep、sed、awk
    前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除!一、正则表达式1、正则表达式定义1.1、简介正则表达式是一种强大的文本模式匹配工具,用于搜索、替换或分割字符串。在Shell脚本中,正则表达式通常与grep、sed和awk等工具一起使用。1.2、层次分类基......
  • Crash 的旅行计划 / 蓝色彼岸花 题解
    前言题目链接:Hydro&bzoj。题意简述一棵\(n\)个结点的树上,每个点有点权,有\(m\)次操作:修改\(u\)的点权;查询以\(u\)为一端的简单路径的点权和最大值。对于\(20\%\)的数据:\(n,m\leq10^3\);对于另\(30\%\)的数据:第\(i\)条边连接\(i\)和\(i+1\);对于......
  • linux awk命令
    awk命令是Linux系统中非常强大的文本处理工具,它能够对文本文件进行分析、处理和格式化输出。以下是awk命令的一些常见用法和示例:一、基本语法awk命令的基本语法如下:awk'pattern{action}'input_filepattern:用于指定需要匹配的条件,可以是文本字符串或正则表达式。{......
  • awk 基本用法
    学习简介:awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk有很多......
  • SP8099 TABLE - Crash´s number table 题解
    题目传送门前置知识一般的积性函数|数论分块|莫比乌斯反演解法令\(n\lem\)。考虑莫比乌斯反演,推式子,有\(\begin{aligned}&\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}\operatorname{lcm}(i,j)\\&=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}\frac{ij}{\gcd(i,j)......
  • hawk解密分析
    碰到了使用com.orhanobut.hawk对sp进行加密的应用,分析一下除了动态调试外如何直接解密逆向的难度比较大,而且由于涉及到facebook的加密库,导致反编译后代码很难看,好在项目是开源的hawk看一下这个项目的代码,本质上用的facebook的加密库conceal这是封装在最外层的解密方法这是......
  • Crash Course Computer Science
    【计算机科学速成课】[40集全/精校]-CrashCourseComputerScienceep1.EarlyComputingCharlesBabbageEnglishmathematicianandinventorconceivedthefirstautomaticdigitalcomputerAdaLovelaceEnglishmathematicianthefirstcomputerprogramme......
  • shell-awk命令详解(理论+实战)
    一、概述AWK是一种处理文本文件的语言,是一个强大的文本分析工具。它是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描、过滤、统计汇总工作数据可以来自标准输入也可以是管道或文件。20世纪70年代诞生于贝尔实验室,现在centos7用的是gawk之所以......