free命令常用参数详解
free命令常用參數詳解
作者:尹正杰
版權聲明:原創作品,謝絕轉載!否則將追究法律責任。
?
?
?
在運維期間我們會經常去查看服務器硬件信息,比如說內存,大家可能知道看內存用“[root@yinzhengjie ~]# cat /proc/meminfo”,看cpu信息就用"[root@yinzhengjie ~]# cat /proc/cpuinfo",甚至用top命令也能看到相關的信息,不過在linux系統中有專門查看內存的命令喲,他是我們今天的主角。讓我們一起來學習一下吧。
?
一.語法格式:?free [-b | -k | -m] [-o] [-s delay ] [-t] [-l] [-V]
1."-b"參數:以字節為單位顯示內存使用情況。
1 [root@yinzhengjie ~]# free -b 2 total used free shared buffers cached 3 Mem: 8237436928 8098242560 139194368 0 159383552 6659211264 4 -/+ buffers/cache: 1279647744 6957789184 5 Swap: 8371822592 61120512 8310702080 6 [root@yinzhengjie ~]# free -b2."-k"參數:以“kb”為單位顯示內存使用情況。(默認不加參數的話,直接在命令行中敲擊“free”,就會默認打印-k的參數。)
1 [root@yinzhengjie ~]# free -k 2 total used free shared buffers cached 3 Mem: 8044372 7907804 136568 0 155648 6503448 4 -/+ buffers/cache: 1248708 6795664 5 Swap: 8175608 59688 8115920 6 [root@yinzhengjie ~]# free -k3.“-m”參數:以“mb”為單位顯示內存使用情況。
1 [root@yinzhengjie ~]# free -m 2 total used free shared buffers cached 3 Mem: 7855 7722 132 0 152 6351 4 -/+ buffers/cache: 1219 6636 5 Swap: 7983 58 7925 6 [root@yinzhengjie ~]# free -m4.“-s”參數:后面需要跟個數字,單位是"s",顯示每隔多少秒數來顯示一次內存使用情況。
1 [root@yinzhengjie ~]# free -m -s 1 2 total used free shared buffers cached 3 Mem: 7855 7723 132 0 152 6351 4 -/+ buffers/cache: 1219 6636 5 Swap: 7983 58 7925 6 7 total used free shared buffers cached 8 Mem: 7855 7723 132 0 152 6351 9 -/+ buffers/cache: 1219 6636 10 Swap: 7983 58 7925 11 12 total used free shared buffers cached 13 Mem: 7855 7723 132 0 152 6351 14 -/+ buffers/cache: 1219 6636 15 Swap: 7983 58 7925 16 17 total used free shared buffers cached 18 Mem: 7855 7723 132 0 152 6351 19 -/+ buffers/cache: 1219 6636 20 Swap: 7983 58 7925 21 22 total used free shared buffers cached 23 Mem: 7855 7722 132 0 152 6351 24 -/+ buffers/cache: 1219 6636 25 Swap: 7983 58 7925 26 27 total used free shared buffers cached 28 Mem: 7855 7722 132 0 152 6351 29 -/+ buffers/cache: 1219 6636 30 Swap: 7983 58 7925 31 32 total used free shared buffers cached 33 Mem: 7855 7722 132 0 152 6351 34 -/+ buffers/cache: 1219 6636 35 Swap: 7983 58 7925 36 37 total used free shared buffers cached 38 Mem: 7855 7723 132 0 152 6351 39 -/+ buffers/cache: 1219 6636 40 Swap: 7983 58 7925 41 42 total used free shared buffers cached 43 Mem: 7855 7723 132 0 152 6351 44 -/+ buffers/cache: 1219 6636 45 Swap: 7983 58 7925 46 47 total used free shared buffers cached 48 Mem: 7855 7723 132 0 152 6351 49 -/+ buffers/cache: 1219 6635 50 Swap: 7983 58 7925 51 52 total used free shared buffers cached 53 Mem: 7855 7723 132 0 152 6351 54 -/+ buffers/cache: 1219 6635 55 Swap: 7983 58 7925 56 57 total used free shared buffers cached 58 Mem: 7855 7723 132 0 152 6351 59 -/+ buffers/cache: 1219 6636 60 Swap: 7983 58 7925 61 62 ^C 63 [root@yinzhengjie ~]# free -m -s 15.“-t”參數:在末尾活多出一行“Total”,表示顯示總和列
1 [root@yinzhengjie ~]# free -t -m -s 1 2 total used free shared buffers cached 3 Mem: 7855 7724 131 0 152 6352 4 -/+ buffers/cache: 1220 6635 5 Swap: 7983 58 7925 6 Total: 15839 7782 8057 7 8 total used free shared buffers cached 9 Mem: 7855 7724 131 0 152 6352 10 -/+ buffers/cache: 1220 6635 11 Swap: 7983 58 7925 12 Total: 15839 7782 8057 13 14 total used free shared buffers cached 15 Mem: 7855 7724 131 0 152 6352 16 -/+ buffers/cache: 1220 6635 17 Swap: 7983 58 7925 18 Total: 15839 7782 8057 19 20 total used free shared buffers cached 21 Mem: 7855 7724 131 0 152 6352 22 -/+ buffers/cache: 1220 6635 23 Swap: 7983 58 7925 24 Total: 15839 7782 8057 25 26 ^C 27 [root@yinzhengjie ~]# free -t -m -s 16.“-o”參數:不顯示包含“-/+ buffers/cache”的這一列,即不顯示緩沖區調節列。
1 [root@yinzhengjie ~]# free -t -o -m -s 1 2 total used free shared buffers cached 3 Mem: 7855 7724 131 0 152 6352 4 Swap: 7983 58 7925 5 Total: 15839 7782 8057 6 7 total used free shared buffers cached 8 Mem: 7855 7724 131 0 152 6352 9 Swap: 7983 58 7925 10 Total: 15839 7782 8056 11 12 total used free shared buffers cached 13 Mem: 7855 7724 131 0 152 6352 14 Swap: 7983 58 7925 15 Total: 15839 7782 8056 16 17 total used free shared buffers cached 18 Mem: 7855 7724 131 0 152 6352 19 Swap: 7983 58 7925 20 Total: 15839 7782 8056 21 22 total used free shared buffers cached 23 Mem: 7855 7724 131 0 152 6352 24 Swap: 7983 58 7925 25 Total: 15839 7782 8057 26 27 ^C 28 [root@yinzhengjie ~]# free -t -o -m -s 1?
二.如何去看輸出的結果
我上面舉了那么多例子,我生活中最常用的就是:“free -m”,那么我們如何看這個輸出的結果呢?
?
1 2 3 4 5 6 7 8 2 total used free shared buffers cached #第一行 3 Mem: 7855 7718 137 0 152 6348 #第二行 4 -/+ buffers/cache: 1218 6637 #第三行 5 Swap: 7983 58 7925 #第四行我們知道這個是"free -m"的輸出結果,我只不過是將結果取出來了,然后進行標號,用坐標的方式來講解如何查看內容: 第一行: total(2,3):總計物理內存的大小。 used(2,4):已使用的空間。 free(2,5):可用的空間。 shared(2,6):多個進程共享的內存總額。現在已經deprecated,其值總是0(當然在一些系統上也可能不是0,主要取決于free命令是怎么實現的)。 buffers(2,7):用于存放要輸出到disk(塊設備)的數據的,[A buffer is something that has yet to be "written" to disk. ]即提高了內存網硬盤加速寫的能力 cached(2,8):存放從disk上讀出的數據,['A cache is something that has been "read" from the disk and stored for later use.'] (cached往往比buffers數字大就是為了提高IO read的性能)即提高了加速讀的能力 第二行:(輸出時從操作系統(OS)來看的) 看了第一行的解釋,我能知道了第一行輸出時從操作系統(OS)來看的。也就是說,從OS的角度來看 (3.3):即7855MB物理內存; (3,4):7718MB已經被使用了; (3,5):137MB可用被使用。 因此,我們可以得到一個公式喲:(3.3)= (3,4)+ (3,5) 第三行:(是從一個應用程序的角度看系統內存的使用情況) (4,4,):即-buffers/cache,表示一個應用程序認為系統被用掉多少內存; (4,5):即+buffers/cache,表示一個應用程序認為系統還有多少內存; 因此我們又可以得到2個公式喲:1>.(4,4) = (3,4) - (3,7) - (3,8)2>.(4,5) = (3,5) + (3,7) - (3,8) 第四行: free的輸出一共有四行,第四行為交換區的信息,分別是交換的總量(total),使用量(used)和有多少空閑的交換區(free) ''' 提示:free命令由procps.*.rpm提供(在Redhat系列的OS上)。free命令的所有輸出值都是從/proc/meminfo中讀出的。“-/+ buffers/cache”其對應的used表示實際使用內存,對應的free對應的才是實際空閑的內存。 '''?
總結
以上是生活随笔為你收集整理的free命令常用参数详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 51单片机的特殊功能寄存器到底在哪,为何
- 下一篇: 酷我音乐显示服务器怎么办,酷我音乐歌词服