Linux内存信息查看——free命令
free 命令可以顯示系統已用和空閑的內存情況。包括物理內存、交互區內存(swap)和內核緩沖區內存(buffer)。共享內存將被忽略。在Linux系統監控的工具中,free命令是最經常使用的命令之一。
1 用法及常用參數
free [option] -b # 以Byte為單位顯示內存使用情況 -k # 以KB為單位顯示內存使用情況 -m # 以MB為單位顯示內存使用情況 -g # 以GB為單位顯示內存使用情況 -h # 自動轉換單位(最常用) -o # 不顯示緩沖區調節列 -s <間隔秒數> # 持續觀察內存使用狀況 -t # 顯示內存總和列 -V # 顯示版本信息?
2 命令輸出的結果詳解
在終端輸入free。結果如下:
[@bjzw_106_203 ~]# freetotal used free shared buffers cached Mem: 8182340 7909480 272860 0 463820 5228244 -/+ buffers/cache: 2217416 5964924 Swap: 1048568 2612 1045956Mem :表示物理內存的統計(系統已使用、空閑的內存)。
-/+ buffers/cache: 應用程序已使用的、空閑的物理內存。
Swap:交換分區的內存統計。
total:表示物理內存總量(total = used + free)
used:表示總計分配給緩存(包含buffers 與cache )使用的數量,但其中可能部分緩存并未實際使用。
free:未被分配的內存。
shared:多個進程共享的內存總額。
buffers:系統分配但未被使用的buffers 數量。
cached:系統分配但未被使用的cache 數量。
強調一下buffers和cached的區別:
對于應用程序來說:buffers/cached 是等于可用的,因為buffer/cached是為了提高文件讀取的性能,當應用程序需在用到內存的時候,buffer/cached會很快地被回收??捎脙却?#61;系統free memory+buffers+cached。
buffers:是指用來給塊設備做的緩沖大小,他只記錄文件系統的metadata以及 tracking in-flight pages。也就是說,buffers是用來存儲,目錄里面有什么內容,權限等等。
cached:直接用來記憶我們打開的文件,是用來給文件做緩沖的。
綜上所述,
對操作系統來講是:Mem的參數buffers/cached 都是屬于被使用,所以它認為free只有272860;
對應用程序來講是:(-/+ buffers/cach).buffers/cached 是等同可用的,因為buffer/cached是為了提高程序執行的性能,當程序使用內存時,buffer/cached會很快地被使用。以應用來看,以(-/+ buffers/cache)的free和used為主.所以我們看這個就好了。
3 說說Swap
當可用內存少于額定值的時候,就會開會進行交換。額定值被定義在/proc/meminfo 這個文件。
?
[@bjzw_106_203 ~]# cat /proc/meminfo MemTotal: 8182340 kB MemFree: 346672 kB Buffers: 463956 kB Cached: 5156992 kB SwapCached: 0 kB Active: 3027644 kB Inactive: 4170020 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 8182340 kB LowFree: 346672 kB SwapTotal: 1048568 kB SwapFree: 1045956 kB Dirty: 48 kB Writeback: 0 kB AnonPages: 1576704 kB Mapped: 23552 kB Slab: 422056 kB PageTables: 164404 kB NFS_Unstable: 0 kB Bounce: 0 kB CommitLimit: 5139736 kB Committed_AS: 5433220 kB VmallocTotal: 34359738367 kB VmallocUsed: 1260 kB VmallocChunk: 34359720023 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 Hugepagesize: 2048 kB?
交換將通過三個途徑來減少系統中使用的物理頁面的個數:
(1) 減少緩沖與頁面cache的大小;
(2) 將系統V類型的內存頁面交換出去;
(3) 換出或者丟棄頁面。(Application 占用的內存頁,也就是物理內存不足)。
少量地使用swap是不會影響到系統性能的。
追蹤Linux系統的內存使用一直是個難題,很多人試著把能想到的各種內存消耗都加在一起,kernel text、kernel modules、buffer、cache、slab、page table、process RSS…等等,卻總是與物理內存的大小對不上,這是為什么呢?因為Linux kernel并沒有滴水不漏地統計所有的內存分配,kernel動態分配的內存中就有一部分沒有計入/proc/meminfo中。
?
轉載于:https://www.cnblogs.com/zingp/p/8022717.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Linux内存信息查看——free命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sublime Text3 Bracke
- 下一篇: Zabbix JMX之tomcat监控