dmesg 告诉我们 128G 中还有 1G 可用?

dmesg 告诉我们 128G 中还有 1G 可用?

我有一台 128GB RAM 的服务器,内核 4.18.0-305.7.1.el8_4.x86_64,“dmesg | grep Memory”输出如下:

[0.000000]内存:1282732K/133708404K可用(12293K内核代码、2225K rwdata、7708K rodata、2476K init、14048K bss、2721876K保留、0K cma保留)

令我困惑的是“1282732K”。

我知道“133708404K”代表系统的总 RAM,那么内核中的“1282732K”是什么意思?128GB 中只能使用 1.2GB 吗?

“cat /proc/meminfo”显示:

MemTotal:       131494424 kB
MemFree:        25128904 kB
MemAvailable:   29625476 kB
Buffers:         4751752 kB
Cached:           570920 kB
SwapCached:       353700 kB
Active:         91801188 kB
Inactive:        6120828 kB
Active(anon):   87248832 kB
Inactive(anon):  5473052 kB
Active(file):    4552356 kB
Inactive(file):   647776 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:      16777212 kB
SwapFree:       16345892 kB
Dirty:                16 kB
Writeback:             0 kB
AnonPages:      92242344 kB
Mapped:           127760 kB
Shmem:            122540 kB
KReclaimable:     273356 kB
Slab:             759136 kB
SReclaimable:     273356 kB
SUnreclaim:       485780 kB
KernelStack:       18704 kB
PageTables:       196364 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    82524424 kB
Committed_AS:   153723376 kB
VmallocTotal:   34359738367 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
Percpu:            77760 kB
HardwareCorrupted:     0 kB
AnonHugePages:  88938496 kB
ShmemHugePages:        0 kB
ShmemPmdMapped:        0 kB
FileHugePages:         0 kB
FilePmdMapped:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
DirectMap4k:      508928 kB
DirectMap2M:    30439424 kB
DirectMap1G:    104857600 kB

答案1

该内核消息来自mem_init_print_info()函数。在启动早期调用,可能在中途调用start_kernel()

时间戳表示0.000000这是系统启动后第一微秒内可用的页面(和内核大小)。即使对于计算机来说,这也是很短的时间。几秒钟后,当您登录并可以/proc/meminfo自行检查时,时间会长数百万倍,相对而言是永恒。

我对 Linux 虚拟内存了解不够多,无法准确解释内核在启动初期可以进行哪些初始化。但它现在并不代表内存使用情况。

/proc/meminfo系统启动后使用基于内存的监控。无论您最喜欢的主机指标工具是什么。

初始化信息在极少数情况下可能仍然有用,例如取证以确定内核的大小是否发生变化。

相关内容