溫馨提示×

Debian dmesg日志中的內存信息有哪些

小樊
38
2025-10-14 06:25:11
欄目: 智能運維

1. 內存總量與可用內存
dmesg日志中通過"Memory:"關鍵字標識系統內存概況,格式為“可用內存/總內存”(單位:KB),并列出內核代碼、數據段、保留內存等占用項。例如:“Memory: 8177848k/9830400k available (8192k kernel code, 131072k rwdata, 49152k rodata, 229376k init, 196608k bss, 278528k reserved, 0K cma-reserved)”,其中“8177848k”是當前可用內存,“9830400k”是系統總內存,后續括號內為內核各部分占用的內存大小。

2. 內存分區信息
通過"Memory region"關鍵字記錄物理內存的分區詳情,包括起始地址、結束地址、大小及映射關系。例如:“Memory region [mem 0x00000000-0x0009ffff] pfn 0-32767 prefaulted”,表示從物理地址0x00000000到0x0009ffff的內存區域(共32768個頁幀,pfn 0-32767)已被預取。

3. 內存分配與釋放記錄
內核內存管理操作(如kmalloc、kfree、vmalloc、vfree)的日志會記錄內存塊的分配/釋放詳情,包括大小、地址和時間戳。例如:“kmalloc: size=128 flags=0x20000000 --> 0xffff880012345000”表示分配了128字節內存,地址為0xffff880012345000;“kfree: 0xffff880012345000”表示釋放了該地址的內存。

4. 內存錯誤與警告
dmesg會捕獲內存相關的錯誤或警告信息,幫助定位硬件或驅動問題。常見類型包括:

  • 內存不足告警:“Memory cgroup out of memory: Kill process 1234 (myapp) score 500 or sacrifice child”表示內存組(cgroup)內存耗盡,系統殺死了指定進程;
  • 進程內存統計:“Killed process 1234 (myapp) total-vm:65536kB, anon-rss:32768kB, file-rss:0kB”顯示被殺進程的總虛擬內存、匿名內存占用情況;
  • 硬件錯誤:“[drm:intel_cpu_fifo_underrun_irq_handler [i915]] ERROR CPU pipe A FIFO underrun”表示Intel顯卡的CPU管道A發生FIFO下溢錯誤(可能與內存帶寬不足有關)。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女