查看系统堆信息
堆是用于内存动态分配的内存空间,SylixOS 有内核堆和系统堆两个堆对象,如果系统没有初始化系统堆则系统堆由内核堆代替。堆不会被冒用,但可能会耗尽,使得后面无法动态分配出内存。内存泄漏指使用动态内存分配时,各种原因导致不再使用的动态内存没有得到释放,这样在较短时间内堆空间就会被耗尽,再而引发此生故障。内存泄漏是另一个非常严重但常见的问题,保持对堆和栈用量的敏感性,是每一个系统开发者管理者的基本素养。
使用 mems
命令可以查看内核堆和系统堆信息,大多数情况下系统堆是不存在的。
[root@sylixos:/root]# mems
heap show >>
HEAP TOTAL USED MAX USED SEGMENT USED
-------------- ---------- ---------- ---------- ------- ----
kernel 350KB 110KB 162KB 35 31%
system 8172KB 1261KB 1264KB 930 15%
[root@sylixos:/root]#
字段 | 说明 |
---|---|
HEAP | 堆名,kernel 为内核堆,system 为系统堆 |
TOTAL | 总空间大小 |
USED | 当前使用量(字节) |
MAX USED | 历史最大使用量 |
SEGMENT | 当前总段数 |
USED | 当前使用量(百分比) |