kernel slab misc
kernel slab misc
console:/sys/kernel/slab # ls :0000008 bio-0 kioctx :0000016 bio-1 kmalloc-128 :0000024 bio-2 kmalloc-1k :0000032 bio-3 kmalloc-256 :0000040 biovec-128 kmalloc-2k :0000048 biovec-16 kmalloc-4k :0000056 biovec-64 kmalloc-512 :0000064 biovec-max kmalloc-8k :0000072 blkdev_ioc kmalloc-rcl-128 :0000088 blkdev_requests kmalloc-rcl-1k :0000096 bridge_fdb_cache kmalloc-rcl-256 :0000104 buffer_head kmalloc-rcl-2k :0000120 cb_event kmalloc-rcl-4k :0000128 cifs_inode_cache kmalloc-rcl-512 :0000160 cifs_mpx_ids kmalloc-rcl-8k :0000192 cifs_request kmem_cache :0000200 cifs_small_rq kmem_cache_node
在每个slab目录下,有个trace文件,echo 1到这个文件即可trace这个slab的alloc、trace calltrace,calltrace会打印到kernel log,dmesg即可看到这些log:
console:/sys/kernel/slab/mm_struct # ls
aliases destroy_by_rcu objects_partial red_zone store_user
align free_calls objs_per_slab sanity_checks total_objects
alloc_calls hwcache_align order shrink trace
cpu_partial min_partial partial slab_size usersize
cpu_slabs object_size poison slabs validate
ctor objects reclaim_account slabs_cpu_partial
[ 1044.424439] Object 00000000a8af9343: e8 98 7e 09 80 ff ff ff 00 00 00 00 00 00 00 00 ..~............. [ 1044.424444] Object 00000000437c8525: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [ 1044.424448] Object 00000000c07bc299: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [ 1044.424452] Object 00000000068e79d3: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [ 1044.424457] Object 000000005f099c70: 00 00 00 00 00 00 00 00 ........ [ 1044.424465] CPU: 0 PID: 4866 Comm: sh Tainted: P O 4.19.116+ #4 [ 1044.424469] Hardware name: M7332 (DT) [ 1044.424472] Call trace: [ 1044.424484] dump_backtrace+0x0/0x4 [ 1044.424492] dump_stack+0xf4/0x134 [ 1044.424500] free_debug_processing+0x794/0xaf0 [ 1044.424506] kmem_cache_free+0xfb8/0x1520 [ 1044.424513] __mmdrop+0x8c/0x14c [ 1044.424519] mmput+0x18c/0x1b8 [ 1044.424526] flush_old_exec+0x9d4/0x12c4 [ 1044.424532] load_elf_binary+0x4fc/0x1a84 [ 1044.424537] search_binary_handler+0x164/0x3c0 [ 1044.424543] __do_execve_file+0xa74/0xdc0 [ 1044.424549] __arm64_sys_execve+0x4c/0x5c [ 1044.424555] el0_svc_common+0xb8/0x1b8 [ 1044.424560] el0_svc_handler+0x74/0x90 [ 1044.424565] el0_svc+0x8/0x340 console:/sys/kernel/slab/mm_struct #
参考:
https://blog.csdn.net/rikeyone/article/details/116270989
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
2019-09-25 以add hidl service为例记录下hidl和binder driver的交互