自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

free:一個在Linux中檢查內存使用情況的標準命令

系統(tǒng) Linux 系統(tǒng)運維
Linux 系統(tǒng)管理員面臨的一大挑戰(zhàn)是如何在沒有任何停機時間的情況下維護系統(tǒng)的良好運行。管理內存使用是 Linux 管理員又一個具有挑戰(zhàn)性的任務。free 是 Linux 中一個標準的并且被廣泛使用的命令,它被用來分析內存統(tǒng)計(空閑和已用)。今天,我們將要討論 free 命令以及它的一些有用選項。

[[185733]]

我們都知道, IT 基礎設施方面的大多數(shù)服務器(包括世界頂級的超級計算機)都運行在 Linux 平臺上,因為和其他操作系統(tǒng)相比, Linux 更加靈活。有的操作系統(tǒng)對于一些微乎其微的改動和補丁更新都需要重啟,但是 Linux 不需要,只有對于一些關鍵補丁的更新, Linux 才會需要重啟。

Linux 系統(tǒng)管理員面臨的一大挑戰(zhàn)是如何在沒有任何停機時間的情況下維護系統(tǒng)的良好運行。管理內存使用是 Linux 管理員又一個具有挑戰(zhàn)性的任務。free 是 Linux 中一個標準的并且被廣泛使用的命令,它被用來分析內存統(tǒng)計(空閑和已用)。今天,我們將要討論 free 命令以及它的一些有用選項。

推薦文章:

  • smem – Linux 下基于進程和用戶的內存占用報告
  • vmstat:一個標準的報告虛擬內存統(tǒng)計工具

Free 命令是什么

free 命令能夠顯示系統(tǒng)中物理上的空閑(free)和已用(used)內存,還有交換(swap)內存,同時,也能顯示被內核使用的緩沖(buffers)和緩存(caches)。這些信息是通過解析文件 /proc/meninfo 而收集到的。

顯示系統(tǒng)內存

不帶任何選項運行 free 命令會顯示系統(tǒng)內存,包括空閑(free)、已用(used)、交換(swap)、緩沖(buffers)、緩存(cached)和交換(swap)的內存總數(shù)。

  1. free 
  2.              total       used       free     shared    buffers     cached 
  3. Mem:      32869744   25434276    7435468          0     412032   23361716 
  4. -/+ buffers/cache:    1660528   31209216 
  5. Swap:      4095992          0    4095992 

輸出有三行:

  • 第一行:表明全部內存、已用內存、空閑內存、共用內存(主要被 tmpfs(/proc/meninfo 中的 Shmem 項)使用)、用于緩沖的內存以及緩存內容大小。
    • 全部:全部已安裝內存(/proc/meminfo 中的 MemTotal 項)
    • 已用:已用內存(全部計算 - 空間+緩沖+緩存)
    • 空閑:未使用內存(/proc/meminfo 中的 MemFree 項)
    • 共用:主要被 tmpfs 使用的內存(/proc/meminfo 中的 Shmem 項)
    • 緩沖:被內核緩沖使用的內存(/proc/meminfo 中的 Buffers 項)
    • 緩存:被頁面緩存和 slab 使用的內存(/proc/meminfo 中的 Cached 和 SSReclaimable 項)
  • 第二行:表明已用和空閑的緩沖/緩存
  • 第三行:表明總交換內存(/proc/meminfo 中的 SwapTotal 項)、空閑內存(/proc/meminfo 中的 SwapFree 項)和已用交換內存。

以 MB 為單位顯示系統(tǒng)內存

默認情況下, free 命令以 KB - Kilobytes 為單位輸出系統(tǒng)內存,這對于絕大多數(shù)管理員來說會有一點迷糊(當系統(tǒng)內存很大的時候,我們中的許多人需要把輸出轉化為以 MB 為單位,從而才能夠理解內存大小)。為了避免這個迷惑,我們在 free 命令后面加上 -m 選項,就可以立即得到以 MB - Megabytes為單位的輸出。

  1. free -m 
  2.              total       used       free     shared    buffers     cached 
  3. Mem:         32099      24838       7261          0        402      22814 
  4. -/+ buffers/cache:       1621      30477 
  5. Swap:         3999          0       3999 

如何從上面的輸出中檢查剩余多少空閑內存?主要基于已用(used)和空閑(free)兩列。你可能在想,你只有很低的空閑內存,因為它只有 10%, 為什么?

  • 全部實際可用內存 = (全部內存 - 第 2 行的已用內存)
    • 全部內存 = 32099
    • 實際已用內存 = 1621 ( = 全部內存 - 緩沖 - 緩存)
  • 全部實際可用內存 = 30477

如果你的 Linux 版本是最新的,那么有一個查看實際空閑內存的選項,叫做可用(available) ,對于舊的版本,請看顯示 -/+ buffers/cache 那一行對應的空閑(free)一列。

如何從上面的輸出中檢查有多少實際已用內存?基于已用(used)和空閑(free)一列。你可能想,你已經使用了超過 95% 的內存。

  • 全部實際已用內存 = 第一列已用 - (第一列緩沖 + 第一列緩存)
    • 已用內存 = 24838
    • 已用緩沖 = 402
    • 已用緩存 = 22814
  • 全部實際已用內存 = 1621

以 GB 為單位顯示內存

默認情況下, free 命令會以 KB - kilobytes 為單位顯示輸出,這對于大多數(shù)管理員來說會有一些迷惑,所以我們使用上面的選項來獲得以 MB - Megabytes 為單位的輸出。但是,當服務器的內存很大(超過 100 GB 或 200 GB)時,上面的選項也會讓人很迷惑。所以,在這個時候,我們可以在 free 命令后面加上 -g 選項,從而立即得到以 GB - Gigabytes 為單位的輸出。

  1. free -g 
  2.              total       used       free     shared    buffers     cached 
  3. Mem:            31         24          7          0          0         22 
  4. -/+ buffers/cache:          1         29 
  5. Swap:            3          0          3 

顯示全部內存行

默認情況下, free 命令的輸出只有三行(內存、緩沖/緩存以及交換)。為了統(tǒng)一以單獨一行顯示(全部(內存+交換)、已用(內存+(已用-緩沖/緩存)+交換)以及空閑(內存+(已用-緩沖/緩存)+交換),在 ‘free’ 命令后面加上 -t 選項。

  1. free -t 
  2.              total       used       free     shared    buffers     cached 
  3. Mem:      32869744   25434276    7435468          0     412032   23361716 
  4. -/+ buffers/cache:    1660528   31209216 
  5. Swap:      4095992          0    4095992 
  6. Total:    36965736   27094804   42740676 

按延遲運行 free 命令以便更好的統(tǒng)計

默認情況下, free 命令只會顯示一次統(tǒng)計輸出,這是不足夠進一步排除故障的,所以,可以通過添加延遲(延遲是指在幾秒后再次更新)來定期統(tǒng)計內存活動。如果你想以兩秒的延遲運行 free 命令,可以使用下面的命令(如果你想要更多的延遲,你可以按照你的意愿更改數(shù)值)。

下面的命令將會每 2 秒運行一次直到你退出:

  1. free -s 2 
  2.              total       used       free     shared    buffers     cached 
  3. Mem:      32849392   25935844    6913548        188     182424   24632796 
  4. -/+ buffers/cache:    1120624   31728768 
  5. Swap:     20970492          0   20970492 
  6.              total       used       free     shared    buffers     cached 
  7. Mem:      32849392   25935288    6914104        188     182424   24632796 
  8. -/+ buffers/cache:    1120068   31729324 
  9. Swap:     20970492          0   20970492 
  10.              total       used       free     shared    buffers     cached 
  11. Mem:      32849392   25934968    6914424        188     182424   24632796 
  12. -/+ buffers/cache:    1119748   31729644 
  13. Swap:     20970492          0   20970492 

按延遲和具體次數(shù)運行 free 命令

另外,你可以按延遲和具體次數(shù)運行 free 命令,一旦達到某個次數(shù),便自動退出。

下面的命令將會每 2 秒運行一次 free 命令,計數(shù) 5 次以后自動退出。

  1. free -s 2 -c 5 
  2.              total       used       free     shared    buffers     cached 
  3. Mem:      32849392   25931052    6918340        188     182424   24632796 
  4. -/+ buffers/cache:    1115832   31733560 
  5. Swap:     20970492          0   20970492 
  6.              total       used       free     shared    buffers     cached 
  7. Mem:      32849392   25931192    6918200        188     182424   24632796 
  8. -/+ buffers/cache:    1115972   31733420 
  9. Swap:     20970492          0   20970492 
  10.              total       used       free     shared    buffers     cached 
  11. Mem:      32849392   25931348    6918044        188     182424   24632796 
  12. -/+ buffers/cache:    1116128   31733264 
  13. Swap:     20970492          0   20970492 
  14.              total       used       free     shared    buffers     cached 
  15. Mem:      32849392   25931316    6918076        188     182424   24632796 
  16. -/+ buffers/cache:    1116096   31733296 
  17. Swap:     20970492          0   20970492 
  18.              total       used       free     shared    buffers     cached 
  19. Mem:      32849392   25931308    6918084        188     182424   24632796 
  20. -/+ buffers/cache:    1116088   31733304 
  21. Swap:     20970492          0   20970492 

人類可讀格式

為了以人類可讀的格式輸出,在 free 命令的后面加上 -h 選項,和其他選項比如 -m 和 -g 相比,這將會更人性化輸出(自動使用 GB 和 MB 單位)。

  1. free -h 
  2.               total        used        free      shared  buff/cache   available 
  3. Mem:           2.0G        1.6G        138M         20M        188M        161M 
  4. Swap:          2.0G        1.8G        249M 

取消緩沖區(qū)和緩存內存輸出

默認情況下,緩沖/緩存內存是同時輸出的。為了取消緩沖和緩存內存的輸出,可以在 free 命令后面加上 -w 選項。(該選項在版本 3.3.12 上可用)

注意比較上面有緩沖/緩存的輸出。

  1. free -wh 
  2.               total        used        free      shared     buffers       cache   available 
  3. Mem:           2.0G        1.6G        137M         20M        8.1M        183M        163M 
  4. Swap:          2.0G        1.8G        249M 

顯示最低和最高的內存統(tǒng)計

默認情況下, free 命令不會顯示最低和最高的內存統(tǒng)計。為了顯示最低和最高的內存統(tǒng)計,在 free 命令后面加上 -l 選項。

  1. free -l 
  2.              total       used       free     shared    buffers     cached 
  3. Mem:      32849392   25931336    6918056        188     182424   24632808 
  4. Low:      32849392   25931336    6918056 
  5. High:            0          0          0 
  6. -/+ buffers/cache:    1116104   31733288 
  7. Swap:     20970492          0   20970492 

閱讀關于 free 命令的更過信息

如果你想了解 free 命令的更多可用選項,只需查看其 man 手冊。

  1. free --help 
  2. or 
  3. # man free 
責任編輯:龐桂玉 來源: Linux中國
相關推薦

2020-02-10 19:50:08

Linux內存使用命令

2022-07-13 14:26:26

Linux

2017-01-18 21:57:14

2010-06-02 11:06:15

Linux 內存監(jiān)控

2020-08-15 07:30:58

Linux命令匯總

2010-06-02 12:47:12

Linux 內存監(jiān)控

2009-07-09 18:03:25

tomcatJVM內存

2010-02-03 17:16:58

Linux內存使用

2022-09-26 09:44:10

Linux

2021-03-26 07:17:38

Linux命令磁盤

2021-03-25 12:50:31

Linux磁盤命令

2019-06-24 08:53:01

Bash腳本Linux系統(tǒng)運維

2021-03-01 13:11:20

duf終端工具Linux

2020-02-04 13:50:09

Linux進程內存使用

2020-06-17 14:10:01

Python內存程序

2022-11-11 14:48:41

內存top命令

2021-05-10 11:25:24

Linux命令磁盤

2010-10-14 16:10:28

MySQL排序

2009-06-16 09:18:26

Linux系統(tǒng)管理系統(tǒng)資源

2010-09-26 12:45:29

點贊
收藏

51CTO技術棧公眾號