• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# oom
2
3- [命令功能](#命令功能)
4- [命令格式](#命令格式)
5- [参数说明](#参数说明)
6- [使用指南](#使用指南)
7- [使用实例](#使用实例)
8- [输出说明](#输出说明)
9
10## 命令功能
11
12查看和设置低内存阈值以及pagecache内存回收阈值。
13
14
15## 命令格式
16
17oom
18
19oom -i [_interval_]
20
21oom -m [_mem byte_]
22
23oom -r [_mem byte_]
24
25oom -h | --help
26
27
28## 参数说明
29
30**表1** 参数说明
31
32| 参数 | 参数说明 | 取值范围 |
33| -------- | -------- | -------- |
34| -i [interval] | 设置oom线程任务检查的时间间隔。 | 100ms ~ 10000ms |
35| -m [mem byte] | 设置低内存阈值。 | 0MB ~ 1MB,0MB表示不做低内存阈值检查。 |
36| -r [mem byte] | 设置pagecache内存回收阈值。 | 低内存阈值 ~ 系统可用最大内存。 |
37| -h \| --help | 使用帮助。 | N/A |
38
39
40## 使用指南
41
42参数缺省时,显示oom功能当前配置信息。
43> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
44> 当系统内存不足时,会打印出内存不足的提示信息。
45
46
47## 使用实例
48
49举例:
50
51- oom
52
53- oom -i 100
54
55
56## 输出说明
57
58**示例1:**oom缺省打印配置信息
59
60```
61OHOS:/$ oom
62[oom] oom loop task status: enabled
63      oom low memory threshold: 0x80000(byte)
64      oom reclaim memory threshold: 0x500000(byte)
65      oom check interval: 100(microsecond)
66```
67
68系统内存不足时打印提示信息
69
70```
71T:20 Enter:IT MEM 00M 001
72[oom] OS is in low memory state
73total physical memory: 0x1bcf000(byte), used: 0x1b50000(byte) ,free: 0x7f000(byte), low memory threshold: 0x80000(byte)
74[oom] candidate victim process init pid: 1, actual phy mem byte:82602
75[oom] candidate victim process shell pid: 3, actual phy mem byte:14950e
76[oom] candidate victim process testsuits app pid: 4, actual phy mem byte:1334598
77[oom] candidate victim process UserProcess12 pid: 12, actual phy mem byte:25951558
78[oom] max phy mem used process UserProcess12 pid: 12, actual phy mem 25951558
79################excFrom: User!####################
80data abort fsr:0x817, far:0x225af000
81Abort caused by a write instruction. Translation fault, page
82excType: data abort
83processName    = UserProcess12
84processID      = 12
85process aspace = 0х01000000 -> 0х3f000000
86taskName       = threado
87taskID         = 22
88task user stack = 0х20e17000 -> 0х20e21000
89pc   = 0x93969dc in /usr/bin/testsuits app ---> 0x19f9dc
90ulr  = 0x93969cc in /usr/bin/testsuits app ---> 0x19f9cc
91usp  = 0х20e20c68fp = 0x20e20c8c
92R0   = 0х20e35000
93R1   = 0x225af000
94R2   = 0x0
95R3   = 0х28e35000
96R4   = 0х0
97R5   = 0х9500000
98R6   = 0х14
99R7   = 0х97822c4
100R8   = 0x970cfa8
101R9   = 0x9090909
102R10  = 0xa0a0a0a
103R11  = 0x20e20c8c
104R12  = 0х0
105CPSR = 0х80000010
106***backtrace beain***
107traceback 0 -- lr = 0x9242e1c fp = 0х20e20cc4 lr in /usr/bin/testsuits apr 0x4be1c
108traceback 1 -- 1r = 0х92430cc fp = 0x20e20cdc lr in /usr/bin/testsuits app --> 0x4c0cc
109traceback 2 -- 1r = 0x9396ab0 fp = 0x20e20cec lr in /usr/bin/testsuits app -> 0х19fab0
110traceback 3 -- lr = 0x9393eb4 fp = 0x20e20cf4 lr in /usr/bin/testsuits ap --> 0x19ceb4
111traceback 4 -- lr = 0x92427d4 fp = 0x20e20d44 lr in /usr/bin/testsuits app --> 0x4b7d4
112traceback 5 -- 1r = 0x20c4df50 fp = 0хb0b0b0b 1r in /1ib/libc.so - -> 0x62f50
113```
114
115
116**示例2**:设置 oom 线程任务检查的时间间隔
117
118
119```
120OHOS:/$ oom -i 100
121[oom] set oom check interval (100)ms successful
122```
123
124
125**表2** 输出说明
126
127| 输出 | 说明 |
128| -------- | -------- |
129| [oom]&nbsp;OS&nbsp;is&nbsp;in&nbsp;low&nbsp;memory&nbsp;state<br/>total&nbsp;physical&nbsp;memory:&nbsp;0x1bcf000(byte),&nbsp;used:&nbsp;0x1b50000(byte),&nbsp;free:&nbsp;0x7f000(byte),&nbsp;low&nbsp;memory&nbsp;threshold:&nbsp;0x80000(byte) | 操作系统处于低内存状态。<br/>整个系统可用物理内存为0x1bcf000&nbsp;byte,已经使用了&nbsp;0x1b50000&nbsp;byte,&nbsp;还剩0x7f000&nbsp;byte,当前设置的低内存阈值为0x80000&nbsp;byte。 |
130| [oom]&nbsp;candidate&nbsp;victim&nbsp;process&nbsp;init&nbsp;pid:&nbsp;1,&nbsp;actual&nbsp;phy&nbsp;mem&nbsp;byte:&nbsp;82602 | 打印当前各个进程的内存使用情况,init进程实际占用物理内存82602byte。 |
131| [oom]&nbsp;candidate&nbsp;victim&nbsp;process&nbsp;UserProcess12&nbsp;pid:&nbsp;12,&nbsp;actual&nbsp;phy&nbsp;mem&nbsp;byte:&nbsp;25951558 | UserProcess12进程实际使用25951558byte内存。 |
132| [oom]&nbsp;max&nbsp;phy&nbsp;mem&nbsp;used&nbsp;process&nbsp;UserProcess12&nbsp;pid:&nbsp;12,&nbsp;actual&nbsp;phy&nbsp;mem:&nbsp;25951558 | 当前使用内存最多的进程是UserProcess12。 |
133| excFrom:&nbsp;User! | 当系统处于低内存的情况下,UserProcess12进程再去申请内存时失败退出。 |
134