Centos
為什麼 lsmem 和 free 顯示不同的總記憶體?
我有一台 CentOS 7 機器,有個問題困擾著我。
當我使用
lsmem --summary
時,我得到:Memory block size: 128M Total online memory: 8G Total offline memory: 0B
當我使用
free -h
時,我得到:total used free shared buff/cache available Mem: 7.6G 850M 1.7G 361M 5.1G 6.1G Swap: 7.7G 0B 7.7G
為什麼我在同一台機器上獲得的總記憶體不同?
這兩個命令有什麼區別?
lsmem
列出記憶體塊及其狀態;這些反映物理記憶體並以記憶體塊為單位計算,即係統上的 128MiB。為此,lsmem
讀取核心在/sys/devices/system/memory
. 在您的系統上,核心跟踪總共 8GiB 的 64 個記憶體塊。
free
列出系統可用的記憶體;“總”是物理記憶體的數量,減去系統保留的記憶體(主要用於韌體的目的)和核心的可執行程式碼。free
從中讀取此資訊/proc/meminfo
。輸出的差異可以通過測量的差異來解釋。在所有情況下,
free
的總記憶體都將小於lsmem
的匯流排上記憶體。