系統及路徑:RedHat:{/usr/bin/free}
shared library:
libproc.so.2.0.6 => /lib/libproc.so.2.0.6 (0x4001b000)
libc.so.6 => /lib/libc.so.6 (0x40027000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
用途說明:
free 會顯示出洗統中 已使用 和 未使用 的實體、虛擬記憶體統計 也會顯示出 kernel 使用的 share memory 和 buffer 的大小
摘要:
free [-b | -k | -m] [-o] [-s delay ] [-t] [-V] 選項說明:
-b 顯示時以 byte 為單位顯示記憶體的大小
-k 顯示時以 kilobyte 為單位顯示記憶體的大j小 (內定值)
-m 顯示時以 megabyte 為單位顯示記憶體的大j小
-t 在最後一行顯示出薨M
-o 使用時則不顯示"buffer adjusted"的那行�
-s delay 每隔 delay 秒之後顯示一次資訊,A並且持續不斷的顯示下去...
-V 顯示 free 的版本資訊
使用實例:
[tstusr@WithHeart tstusr]$ free <== 預設值
total used free shared buffers
cached
Mem: 127876 33360 94516 47524 3240
11556
-/+ buffers/cache: 18564 109312
[tstusr@WithHeart tstusr]$ free -b -t <== 用 byte 為單位、顯示Total行
total used free shared buffers
cached
Mem: 130945024 34160640 96784384 48668672 3317760
11833344
-/+ buffers/cache: 19009536 111935488
Total: 256864256 36839424 220024832
[tstusr@WithHeart tstusr]$ free -m -o <== 用 megabyte
| 為單位、不顯示buffer adjusted | ||
| total cached |
used | free shared buffers |
| Mem: 124 11 |
32 | 92 46 3 |
| Swap: 120 | 2 | 117 |
| [tstusr@WithHeart tstusr]$ free | s 3 <== 每三秒顯示一次,最後用 ^C | |
| 中斷 | ||
| total cached |
used | free shared buffers |
| Mem: 127876 11556 |
33360 | 94516 47528 3240 |
| -/+ buffers/cache: | 18564 | 109312 |
| Swap: 122968 | 2616 | 120352 |
| total cached |
used | free shared buffers |
| Mem: 127876 11556 |
33364 | 94512 47580 3240 |
| -/+ buffers/cache: | 18568 | 109308 |
| Swap: 122968 | 2616 | 120352 |
| total cached |
used | free shared buffers |
| Mem: 127876 11556 |
33364 | 94512 47580 3240 |
| -/+ buffers/cache: | 18568 | 109308 |
| Swap: 122968 其他: |
2616 | 120352 |
| 記憶體相關的資訊都記錄在 /proc/meminfo 這個檔案裡面 | ||
| 可以只接 cat 這個檔得到一些訊息... | ||
| free 就是對這個檔案的資訊加以整理之後顯示出來的... | ||
[GNU/Linux] free -- 檢視系統記憶體使用量
*/ 前言 /*
free -- 這是一隻在 Linux console 下的檢視系統記憶體使用量的 工具程式,包括實體記憶體,和用硬碟分割區代號 82 (參考 linux fdisk) 的置換記憶體 (swap memory),其中會分別標示出核心所使 用中的 shared memory 以及 buffers。而 free 所取得的資訊是來 自於 /proc/meminfo,這是系統即時紀錄記憶體資訊的檔案。free 的作者是 Brian Edmond。
*/ 路徑 /*
以筆者安裝的 RedHat Linux 7.0 為例,free 是放置在 /usr/bin 下。
*/ 所使用的 shared library /*
在筆者所使用的 RedHat Linux 7.0 下,free 所使用到的 shared library 有 libproc.so, libc.so, ld-linux.so。
*/ 使用說明及範例 */
在 console 下直接下命令 free 不加任何參數,會顯示與加上 -k 參數相同的輸出:
| [gjchen]$ | free | ||
| total | used | free shared buffers cached | |
| Mem: | 79212 | 76696 | 2516 85292 7732 31692 |
| -/+ buffers/cache: | 37272 | 41940 | |
| Swap: | 88348 | 3336 | 85012 |
以上是在筆者的機器上執行 free 的輸出結果。total 欄顯示實體 記憶體和置換記憶體的總量,used 欄顯示實體記憶體、buffer 以 及置換記憶體的總使用量,而 free 則是剩餘的空間。shared 是 指核心及行程所使用的共享記憶體使用量。buffer 是目前磁碟緩 衝區的大小。cached 是到磁碟間所使用的快取量。
使用者可以使用 -b|-k|-m 來改變 free 的輸出結果的單位。-b 是 以位元組 (byte) 為單位,-k 是以千位元組 (KB -- Kilobyte) 為 單位,-m 是以百萬位元組 (MB -- Megabyte) 為單位。以下分別是 在筆者電腦上執行 free -b, free -k, free -m 的結果:
| [gjchen]$ | free -b | ||
| total | used | free shared buffers cached | |
| Mem: | 81113088 | 79167488 | 1945600 89714688 6782976 34041856 |
| -/+ buffers/cache: | 38342656 | 42770432 | |
| Swap: | 90468352 | 3416064 | 87052288 |
| [gjchen]$ | free -k | ||
| total | used | free shared buffers cached | |
| Mem: | 79212 | 77312 | 1900 87612 6624 33244 |
| -/+ buffers/cache: | 37444 | 41768 | |
| Swap: | 88348 | 3336 | 85012 |
| [gjchen]$ | free -m | ||
| total | used | free shared buffers cached | |
| Mem: | 77 | 75 | 1 85 6 32 |
| -/+ buffers/cache: | 36 | 40 | |
| Swap: | 86 | 3 | 83 |
-o 的參數是不顯示 -/+ buffers/cache 該的輸出結果:
| [gjchen]$ | free -o | |||||
| total | used | free | shared | buffers | cached | |
| Mem: | 79212 | 76608 | 2604 | 87616 | 5980 | 33172 |
| Swap: | 88348 | 3336 | 85012 |
-t 的參數會在原本的輸出結果加上一行 total 標示出實體記憶 體和置換記憶體的總量:
| [gjchen]$ | free -t | ||
| total | used | free shared buffers cached | |
| Mem: | 79212 | 77300 | 1912 89136 5456 33780 |
| -/+ buffers/cache: | 38064 | 41148 | |
| Swap: | 88348 | 3336 | 85012 |
| Total: | 167560 | 80636 | 86924 |
而有時候我們想要連續一段時間監看記憶體的使用變化,則可以 加上 -s delay 的參數。delay 是一個整數,表示間隔輸出的時 間,單位是秒。如 free -s 3 的意思是每隔三秒輸出一次 free 的結果。
-V 會顯示 free 的版本資訊:
[gjchen]$ free -V
procps version 2.0.7
當使用 free 加上了無效的參數時會輸出使用方法 (usage):
[gjchen]$ free -w
free: invalid option -- w
usage: free [-b|-k|-m] [-o] [-s delay] [-t] [-V]
而更詳細的資訊可以 man free 得到。
*/ 勘誤資訊 /*
本文如有謬誤或建議,請來信筆者的電子郵件信箱。
gjchen@csie.nctu.edu.tw 交大資工 陳俊哲