linux 内存显示括号内字母的含义
生活随笔
收集整理的這篇文章主要介紹了
linux 内存显示括号内字母的含义
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
當linux系統發生異常或者 echo 'm' > /proc/sysrq-trigger 我們會看到類似以下的信息,其中括號內字符代表什么含義呢?我們跟蹤 sysrq-trigger,看看源碼的解釋
DMA: 1*4kB (M) 0*8kB 1*16kB (M) 2*32kB (UM) 2*64kB (UM) 1*128kB (U) 2*256kB (UM) 2*512kB (UM) 1*1024kB (M) 1*2048kB (M) 2*4096kB (ER) = 13140kB DMA32: 294*4kB (UEM) 1052*8kB (UEM) 608*16kB (UEM) 398*32kB (UEM) 190*64kB (UEM) 82*128kB (UEM) 48*256kB (EM) 34*512kB (EM) 23*1024kB (UEM) 13*2048kB (UEM) 371*4096kB (MR) = 1654200kB Normal: 158*4kB (UEM) 503*8kB (UEM) 266*16kB (UEM) 160*32kB (UEM) 80*64kB (UEM) 40*128kB (UEM) 30*256kB (UEM) 21*512kB (UEM) 9*1024kB (EM) 4*2048kB (EM) 147*4096kB (EMR) = 662224kB部分源碼如下,我們省略一些其他信息,找我們最終想要的
# drivers/tty/sysrq.c __handle_sysrq()sysrq_handle_showmem()show_mem()# lib/show_mem.c show_mem()show_free_areas()show_migration_types()# mm/page_alloc.c show_migration_types(unsigned char type) {static const char types[MIGRATE_TYPES] = {[MIGRATE_UNMOVABLE] = 'U',[MIGRATE_RECLAIMABLE] = 'E',[MIGRATE_MOVABLE] = 'M',[MIGRATE_RESERVE] = 'R', #ifdef CONFIG_CMA[MIGRATE_CMA] = 'C', #endif #ifdef CONFIG_MEMORY_ISOLATION[MIGRATE_ISOLATE] = 'I', #endif};char tmp[MIGRATE_TYPES + 1];char *p = tmp;int i;for (i = 0; i < MIGRATE_TYPES; i++) {if (type & (1 << i))*p++ = types[i];}*p = '\0';printk("(%s) ", tmp); }?
?
總結
以上是生活随笔為你收集整理的linux 内存显示括号内字母的含义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python逻辑回归代码_Logisti
- 下一篇: python request timeo