当前位置: 首页 > news >正文

rp网站做多大seo是一种利用搜索引擎的

rp网站做多大,seo是一种利用搜索引擎的,网页设计素材在哪找,长沙软件开发0. 前言 ramdump是指某个时刻系统或者子系统发生crash等异常,系统将内存中的数据通过一定的方式保存下来,相当于一个系统内存快照,用以开发者离线分析系统异常问题。 ramdump 工具中有很多内存统计的脚本,本文逐一剖析内存相关的…

0. 前言

ramdump是指某个时刻系统或者子系统发生crash等异常,系统将内存中的数据通过一定的方式保存下来,相当于一个系统内存快照,用以开发者离线分析系统异常问题。

ramdump 工具中有很多内存统计的脚本,本文逐一剖析内存相关的脚本,涉及脚本如下:

脚本名称dump文件名称说明
memusage.pymemory.txt统计内存 total memory、free memory、slab、shmem 以及每个进程的 rss、swap、adj 信息;
memstat.pymem_stat.txt统计总的内存使用情况,包含total、free、slab、cached、vmalloc、zram compressed,others中包含 pgtables、kernel stack 等信息;
ion_buffer_parse.py

ionbuffer.txt

ionproc.txt

total_dma_heap.txt

统计db_list 中所有 dma_buf 的size、expr_name等信息。

总的 dma_buf 大小记录在 total_dma_heap.txt 文件中

vmalloc.pyvmalloc.txt统计 vmallocinfo
slabinfo.py

1. memusage.py

该脚本统计的信息会写到 memory.txt 文件中。

来看下统计了哪些信息:

Total RAM: 2,716,180kB
Total free memory: 54,324kB(2.0%)
Slab reclaimable: 69,868kB(2.6%)
Slab unreclaimable: 195,680kB(7.2%)
Total Slab memory: 265,548kB(9.8%)
Total SHMEM (PAGECACHE): 90,300kB(3.3%)
Total SHMEM (SWAP): 212kB(0.0%)TOP 3 swapped SHMEM files are:
Address_space 0xffffff803ec32d30 Allocated 13 pages
file name:  /dev/ashmem/Trans ImageData
Address_space 0xffffff800b2ac460 Allocated 6 pages
file name:  /dev/ashmem/Trans ImageData
Address_space 0xffffff803ec37960 Allocated 6 pages
file name:  /dev/ashmem/Trans ImageDataTask name             PID          RSS in kB         SWAP in kB   ADJ
m.ohos.launcher      1433      283,520(10.4%)       12,676(0.5%)   400
m.ohos.systemui      1406      165,088(6.1%)       25,992(1.0%)  -800
com.ohos.callui     10310      176,892(6.5%)            0(0.0%)     1
m.ohos.contacts      7746      139,204(5.1%)           12(0.0%)   400
com.ohos.camera     17189      124,844(4.6%)            0(0.0%)     0
com.ohos.mms        13071      115,536(4.3%)           12(0.0%)   400
foundation           1027      110,608(4.1%)        3,224(0.1%) -1000
ard:inputMethod      1465      106,788(3.9%)        6,464(0.2%)   400
appspawn              277      110,432(4.1%)            0(0.0%) -1000
字段名称说明
Total RAM统计全局变量 _totalram_pages
Total free memory统计NR_FREE_PAGES,以及占total 的百分比
Slab reclaimable统计NR_SLAB_RECLAIMABLE,以及占 total 的百分比,Kernel5.10 以上的版本字段名称有所变化
Slab unreclaimable统计 NR_SLAB_UNRECLAIMABLE,以及占 total 的百分比,Kernel5.10 以上的版本字段名称有所变化
Total Slab memory统计总的 slab 内存,上面两者之和
Total SHMEM (PAGECACHE)统计NR_SHMEM,以及占 total 的百分比
Total SHMEM (SWAP)统计 shmem 进入 swap 的内存,这些信息都保存在 shmem_swaplist 中
TOP 3 swapped SHMEM files上面统计信息之后,会将 TOP 3 swapped SHMEM files 列举出来
所有进程信息

统计进程的 name、PID、rss、swap 和 adj,其中 rss 和 swap统计值来源于 mm_struct 中 mm_rss_stat 结构体,rss = anon_rss + file_rss + shmem_rss

2. memstat.py

该脚本统计的信息会写到 mem_stat.txt 文件中。

来看下统计了哪些信息:

Total RAM                     :     2652 MB
Free memory:                  :       53 MBTotal Slab memory:            :      259 MB
Total DMA memory              :       54 MB
KGSL                          :        0 MB
ZRAM compressed               :        4 MB
vmalloc                       :       85 MB
Others                        :     1904 MB
Cached                        :      570 MBTotal Unaccounted Memory      :      293 MB
字段名称说明
Total RAM统计全局变量 _totalram_pages
Free memory统计NR_FREE_PAGES,以及占total 的百分比
Total Slab memory统计总的 slab 内存,NR_SLAB_RECLAIMABLE + NR_SLAB_UNRECLAIMABLE
Total DMA memory统计所有dma-buf 的内存大小。对于 kernel 5.10 及以上的版本,该数据读取的是total_dma_heap.txt 文件,该文件于 ion_buffer_parse.py 解析写入,dma-buf 都统计在全局变量 db_list 中,详细查看下文 ion_buffer_parse.py 剖析
KGSL未知
ZRAM compressed统计 ZRAM 压缩的内存大小
vmalloc统计通过vmalloc 申请的内存大小。对于 vmalloc 分配的内存都会被记录到全局变量nr_vmalloc_pages 中,详细可以查看《内核参数:vmallocinfo》一文
others统计 NR_ANON_MAPPED + NR_FILE_PAGES + NR_PAGETABLE  + NR_KERNEL_STACK_KB
Cached统计 NR_FILE_PAGES
Total Unaccounted Memory没有被统计的内存大小

3. ion_buffer_parse.py

该脚本统计的信息会写到 ionbuffer.txtionproc.txttotal_dma_heap.txt 文件中。

3.1 ionbuffer.txt

来看下统计了哪些数据:

*****Parsing dma buf info for ion leak debugging*****File_addr                                REF  Name            Size       Exp        Heap       Size in KB          
v.v (struct file *)0xffffff8031154140	  9   None            0x555000   system-uncached None       (5460 KB)
v.v (struct file *)0xffffff8031154500	 10   None            0x555000   system-uncached None       (5460 KB)
v.v (struct file *)0xffffff807a006640	  6   None            0x555000   system-uncached None       (5460 KB)
v.v (struct file *)0xffffff80a23b3540	  6   None            0x555000   system-uncached None       (5460 KB)
v.v (struct file *)0xffffff807cfb92c0	  8   None            0x555000   system-uncached None       (5460 KB)
v.v (struct file *)0xffffff808fc8ea00	  8   None            0x4f4000   system-uncached None       (5072 KB)
v.v (struct file *)0xffffff80b59cab40	  8   None            0x4f4000   system-uncached None       (5072 KB)
v.v (struct file *)0xffffff805cb97540	  3   None            0x48f000   system     None       (4668 KB)

轮询 db_list 中所有的 dma-buf,所有的size 都会统计到 total_dma_heap,最终的总的 dma-buf 的内存会记录到 total_dma_heap.txt 中。

字段名称说明
File_addrdma_buf 所对应的文件的 struct file 地址
REF该文件被引用的次数
Namedma_buf 的name,一般使用 dma_buf_set_name() 函数配置,默认不会设置,所以为None
Sizedma_buf 所代表的内存大小,十六进制
Expdma_buf 的 exp_name,同 dma_heap 的name
Heapdma_heap 的name,上面 txt  显示为None,是因为脚本代码有问题
Size in KB 同Size,只不过转换成了KB 单位

3.2 ionproc.txt

 来看下统计了哪些数据:

*****Parsing dma proc info for ion leak debugging*****render_service (PID 828) size (KB): 43600
Name            Size            Size in KB Time Alive(sec)      (struct file *)          
system-uncached 0x555000              5460 0                    0xffffff80a23b3540       
system-uncached 0x555000              5460 0                    0xffffff8031154500       
system-uncached 0x555000              5460 0                    0xffffff8031154140       
system-uncached 0x555000              5460 0                    0xffffff807a006640       
system-uncached 0x555000              5460 0                    0xffffff807cfb92c0       
system-uncached 0x4f4000              5072 0                    0xffffff80b59cab40       
system-uncached 0x4f4000              5072 0                    0xffffff808fc8ea00       
system-uncached 0xe4000                912 0                    0xffffff8061202280       
system-uncached 0xe4000                912 0                    0xffffff801f506000   ...m.ohos.launcher (PID 1433) size (KB): 16380
Name            Size            Size in KB Time Alive(sec)      (struct file *)          
system-uncached 0x555000              5460 0                    0xffffff807cfb92c0       
system-uncached 0x555000              5460 0                    0xffffff807a006640       
system-uncached 0x555000              5460 0                    0xffffff80a23b3540    

该文件统计的是使用 dma-buf的进程的相关信息,每一个 proc 都会显示进程名、PID 以及使用的dma-buf 的总大小。 

通常该文件统计的数据与ionbuffer.txt 配合使用,分析某些dma_buf 异常。

字段名称说明
Nameslab_buf 的exp_name
Sizeslab_buf 所占用的内存大小,十六进制
Size in KB同上,转换成KB 的单位
Time Alive(sec)slab_buf 的存活时长,一般用于 struct dma_buf 中存在ktime 的成员,除此都为0
(struct file *)同 ionbuffer.txt 中,代表 dma_buf 对应的文件的 struct file 地址

3.3 total_dma_heap.txt

来看下统计了哪些数据:

Total dma memory: 54MB

该数据统计所有dma_buf 的总大小,在分析 ionbuffer.txt 的时候看到,所有db_list 中的 dma_buf 的size 都会累计到变量total_dma_heap,最终记录到 total_dma_heap.txt 文件中。

4. vmalloc.py

该脚本统计的信息会写到 vmalloc.txt 文件中。

来看下统计了哪些信息:

Memory mapped region allocated by VmallocVM_STRUCT                                  ADDRESS_RANGE                        SIZE   PHYS_ADDR    CALLER                                         Flag    
v.v (struct vmap_area)0xffffff8081917400   ffffffc000000000-ffffffc000002000     2000          0  bpf_jit_binary_alloc0x0xac                     vmalloc pages=1
v.v (struct vmap_area)0xffffff80b4230c00   ffffffc000002000-ffffffc000004000     2000          0  bpf_jit_binary_alloc0x0xac                     vmalloc pages=1
v.v (struct vmap_area)0xffffff80a33d8180   ffffffc000004000-ffffffc000006000     2000          0  bpf_jit_binary_alloc0x0xac                     vmalloc pages=1
v.v (struct vmap_area)0xffffff80a33d8480   ffffffc000006000-ffffffc000008000     2000          0  bpf_jit_binary_alloc0x0xac                     vmalloc pages=1
v.v (struct vmap_area)0xffffff807a1bb500   ffffffc000008000-ffffffc00000a000     2000          0  bpf_jit_binary_alloc0x0xac                     vmalloc pages=1
v.v (struct vmap_area)0xffffff8025419a80   ffffffc00000a000-ffffffc00000c000     2000          0  bpf_jit_binary_alloc0x0xac                     vmalloc pages=1
v.v (struct vmap_area)0xffffff808d27c180   ffffffc009820000-ffffffc00997a000   15a000          0  load_module0x0xbb0                             vmalloc pages=345
v.v (struct vmap_area)0xffffff808d39b300   ffffffc00997a000-ffffffc009997000    1d000          0  load_module0x0xbb0                             vmalloc pages=28
v.v (struct vmap_area)0xffffff808d5b8300   ffffffc009997000-ffffffc0099b6000    1f000          0  load_module0x0xbb0                             vmalloc pages=30
v.v (struct vmap_area)0xffffff808da97c80   ffffffc0099b6000-ffffffc00a2cb000   915000          0  load_module0x0xbb0                             vmalloc pages=2324
v.v (struct vmap_area)0xffffff808d30ca00   ffffffc00a2cb000-ffffffc00a2d1000     6000          0  load_module0x0xbb0                             vmalloc pages=5
v.v (struct vmap_area)0xffffff808c688200   ffffffc00a2d1000-ffffffc00a311000    40000          0  load_module0x0xbb0                             vmalloc pages=63
v.v (struct vmap_area)0xffffff809621e780   ffffffc00a311000-ffffffc00a6dc000   3cb000          0  load_module0x0xbb0                             vmalloc pages=970
字段名称说明
VM_STRUCT从kmalloc 中分配的struct vm_struct 的地址
ADDRESS_RANGEvm_struct 代表的vmalloc 子区域的内存空间,差值就是SIZE
SIZEvm_struct 代表的vmalloc 子区域的内存大小,十六进制
PHYS_ADDR代表的vmalloc 子区域对应的物理地址起始地址,一般出现于vmap 或 ioremap
CALLER调用vmalloc 的函数
Flagvmalloc 的属性,详细查看《内核参数:vmallocinfo》一文

更详细的 vmalloc 内存管理信息可以查看《vmalloc 详解》一文和《内核参数:vmallocinfo》一文。

5. slabinfo.py

http://www.hkea.cn/news/377707/

相关文章:

  • 企业网站如何做推广竞价推广托管公司介绍
  • 网站如何做微信登录seo公司 杭州
  • 中山里水网站建设软文广告案例分析
  • 做外贸是用什么网站做新型网络营销方式
  • 心理咨询网站开发百度手机seo软件
  • 17网站一起做网批seo营销优化
  • 做赚钱网站程序员培训班要多少钱
  • 已经收录大规模修改收录页面对网站有影响吗什么软件可以推广自己的产品
  • 丁香园做科室网站厦门网络推广
  • 免费的企业网站制作提高网站权重的方法
  • 兰州网站制作怎么样网页在线生成
  • 自建网站网址雅虎搜索引擎首页
  • 注册科技有限公司可以做网站吗百度搜索排名机制
  • 武汉做网站好网站制作多少钱一个
  • 安阳网站建设怎么从网上找客户
  • 文章博客媒体网站模板怎样在百度上打广告
  • 做网站是不是要模板直接打开百度
  • 哪个网站做app推广服务商
  • 中国哪里在大建设网站优化培训学校
  • 自己做的网站点首页出错腾讯广告代理商加盟
  • 如何做免费的网站推广东莞百度seo
  • 宜昌网站制作公司百度竞价官网
  • 建站公司网站模板论坛怎么建网站
  • 上海做b2b网站公司深圳公司网络推广该怎么做
  • 自己做的网站怎么在百度可以查到网络小说网站三巨头
  • 怎么做网站客服弹窗站长之家seo工具包
  • 自己建一个电商网站吗网络营销的定义
  • 专门做金融的招聘网站四川seo选哪家
  • wordpress nginx伪静态配置拼多多seo怎么优化
  • 深圳网站开发电话惠州网络营销