当前位置:首页 » 安卓系统 » android内存命令

android内存命令

发布时间: 2025-06-03 05:29:07

㈠ android sdk 内存大小如何调整

如果是android的开发要设置sdk的虚拟内存,可以通过一下方式:

第一、删除原有虚拟内存卡:先进入sdk的安装文件夹下,里面有个tools文件夹。手动删除里面的.img文件(这个就是设置虚拟内存大小的文件)

第二、新建需要大小的虚拟内存卡,通过DOS窗口进入tools文件夹下,使用命令>mksdcard[size]./msdcard.img,[size]就是设置虚拟内存卡大小(后面是以M为单位的),比如说以前的你是90M,现在你可以设置250M大小就可以使用命令:>mksdcard250M./msdcard.img。例如,下面是我设置的

㈡ Android内存的相关排查方法

mpsys meminfo 是Android系统提供的查询内存命令,用该命令可以看到:
每个进程占用的物理内存大小
系统内存分布状态,包括
总的可用物理内存 Total RAM
当前可用物理内存 Free RAM
已用物理内存 Used RAM
不岩察可见内存 Lost RAM

比如输入该命令后输出如下日志:

该命令打印的最后一部分,反应物哗系统级别的内存状况:
Total RAM: 1015868 kB
Free RAM: 638914 kB (105418 cached pss + 180168 cached + 353328 free)
Used RAM: 211428 kB (186096 used pss + 8008 buffers + 520 shmem + 16804 slab)
Lost RAM: 165526 kB
Tuning: 96 (large 256), oom 20480 kB, restore limit 6826 kB (high-end-gfx)
里面某些字段的意义需要注意:
mpsys meminfo

OOM Killer(Out Of Memory Killer) 是Linux当中,内存保护机制的一种。当物理内存几乎耗尽而又需要分配新内存时,会杀掉一些优先级低的进程,释放内存。
LowMemoryKiller 是Android的内存保护机制。当物理内存低于阈值,就会杀掉一些优先级低的进程,释放内存。

联系:LowMemoryKiller 用到了 OOM Killer 的评分机制
区别:LowMemoryKiller 是通过阈值触发,OOM Killer 是分配内存失败时触发

评分原理:
oom_adj,代表进程的优先级, 数值越大,优先级越低,越容易被杀。系统分16个级别(取值范围[-16, 15]整数,不连续)
通过 cat /proc/xxx/oom_adj 查看,其中xxx是进程号
oom_score_adj: 在 oom_adj 基础上的评分,取值范围[-1000, 1000]
通过 cat /proc/xxx/oom_score_adj 查看,其中xxx是进程号

阈值查看,以98mv100为例:
cat /sys/mole/lowmemorykiller/parameters/minfree
1024,1536,2048,3072,3584,4096
cat /sys/mole/lowmemorykiller/parameters/adj
0,58,117,176,529,1000
上诉数值表示:可用内存低于 4096 4K 时,杀掉 oom_score_adj>=1000 的应用;可用内存低于 3584 4K 时,杀掉 oom_score_adj>=529 的应用,以此类推。

因此,客户可以通过调整 minfree 的阈值来触发 LowMemoryKiller 更频繁地杀应用,从而为高优先级应用省下内存。

在 mpsys meminfo 中,GPU内存被统计到了 Lost RAM 里面罩枣行了。

因此,当应用占用GPU内存过高时,不会体现在 Used RAM 里面,而是体现在 Lost RAM 中。反过来,如果发现有问题的时候 Lost RAM 很高,就需要看看GPU内存使用情况了。用以下命令:�
mount -t debugfs debugfs /sys/kernel/debug/
cat /sys/kernel/debug/mali/gpu_memory

130|root@MR820:/ # cat /sys/kernel/debug/mali/gpu_memory
Name (:bytes) pid mali_mem max_mali_mem external_mem ump_mem dma_mem

其中mali_mem列就是应用占用的GPU内存

㈢ Android 常用adb命令

常用adb 命令

配置mat 环境,因为从 android profile直接获取到的hprof文件格式与mat的格式不兼容,所以需要使用工具转换一下

第 1 行:进程信息

总共(total):754个
运行中(running)状态:1个
休眠(sleeping)状态:753个
停止(stopped)状态:0个
僵尸(zombie)状态:0个

第 2 行:内存信息

5.5G total:物理内存总量
5.4G used:使用中的内存量
165M free:空闲内存量
76M buffers: 缓存的内存量

第 3 行:Swap分区信息

2.5G total:交换区总量
789M used:使用的交换区大小
1.7G free:空闲交换区大小
2.4G cached:缓冲的交换区大小

内存监控时,可以监控swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是内存不够用了。

第 4 行:CPU信息

800%cpu:8核cpu
100%user:用户进程使用CPU占比
3%nice:优先值为负的进程占比
54%sys:内核进程使用CPU占比
641%idle:除IO等待时间以外的其它等待时间占比
0%iow:IO等待时间占比
3%irq:硬中断时间占比
0%sirq:软中断时间占比

第 5 行及以下:各进程的状态监控

PID:进程id
USER:进程所属用户
PR:进程优先级
NI:nice值,负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,RES=CODE+DATA
SHR:共享内存大小
S:进程状态
%CPU:上次更新到现在的CPU占用时间比
%MEM:使用物理内存占比
TIME+:进程时间的CPU时间总计,单位1/100秒
ARGS:进程名

㈣ Android銮峰彇搴旂敤鍐呭瓨浣跨敤𨱍呭喌镄勬柟娉

  1銆 璇ヤ唬镰佽幏鍙栧綋鍓嶅簲鐢ㄧ▼搴忕殑鍐呭瓨浣跨敤𨱍呭喌ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); //链澶у垎閰嶅唴瀛 int memory = activityManager銆
  getMemoryClass(); System銆俹ut銆俻rintln("memory: "+memory); //链澶у垎閰嶅唴瀛樿幏鍙栨柟娉2 float maxMemory = (float) (Runtime銆俫etRuntime()銆俶axMemory() * 1銆
  0/ (1024 * 1024)); //褰揿墠鍒嗛厤镄勬诲唴瀛 float totalMemory = (float) (Runtime銆俫etRuntime()銆伥otalMemory() * 1銆0/ (1024 * 1024)); //鍓╀綑鍐呭瓨 float freeMemory = (float) (Runtime銆
  getRuntime()銆俧reeMemory() * 1銆0/ (1024 * 1024)); System銆俹ut銆俻rintln("maxMemory: "+maxMemory); System銆俹ut銆俻rintln("totalMemory: "+totalMemory); System銆
  out銆俻rintln("freeMemory: "+freeMemory);缁撴灉System銆俹ut: memory: 256System銆俹ut: maxMemory: 256銆0System銆俹ut: totalMemory: 11銆974937System銆
  out: freeMemory: 3銆6257935杩栾〃鏄庢垜镄勫簲鐢ㄧ▼搴忓湪褰揿墠镓嬫満涓婄殑链澶у垎閰嶅唴瀛树负256m锛岀幇鍦ㄥ凡鍒嗛厤11m锛岃11m涓镄6m鏄鍏嶈垂镄勫綋铹讹纴鎭ㄥ彲浠ラ氲繃Monitors镟寸洿瑙傚湴镆ョ湅鍐呭瓨浣跨敤𨱍呭喌2銆 浣跨敤dos锻戒护锛1锛夋墦寮dos绐楀彛骞舵墽琛宎db shell锛2锛塪umpsys meminfo杞浠跺寘钖岖О缁撴灉:3銆
   浣跨敤鏄剧ず鍣ㄦ垨DDMS鏄剧ず鍣―DMS銆

热点内容
标致5008哪个配置最值得购买 发布:2025-06-04 23:47:07 浏览:969
苹果如何不通过密码进入手机 发布:2025-06-04 23:22:53 浏览:762
c语言char的范围 发布:2025-06-04 23:06:25 浏览:597
快速找到软件的缓存目录 发布:2025-06-04 23:01:48 浏览:805
java怎么用键盘输入 发布:2025-06-04 23:01:46 浏览:124
瑞虎鲲鹏扶摇配置有哪些 发布:2025-06-04 23:00:53 浏览:972
gg修改元气骑士脚本 发布:2025-06-04 22:49:08 浏览:880
安卓模拟器安装的游戏文件在哪里 发布:2025-06-04 22:48:55 浏览:128
哪些框架约定大于配置 发布:2025-06-04 22:33:36 浏览:757
falsejava 发布:2025-06-04 22:31:30 浏览:651