整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          每天一個linux命令:free 命令

          ree命令可以顯示Linux系統中空閑的、已用的物理內存及swap內存,及被內核使用的buffer。在Linux系統監控的工具中,free命令是最經常使用的命令之一。

          1.命令格式:

          free [參數]

          2.命令功能:

          free 命令顯示系統使用和空閑的內存情況,包括物理內存、交互區內存(swap)和內核緩沖區內存。共享內存將被忽略

          3.命令參數:

          -b 以Byte為單位顯示內存使用情況。

          -k 以KB為單位顯示內存使用情況。

          -m 以MB為單位顯示內存使用情況。

          -g 以GB為單位顯示內存使用情況。

          -o 不顯示緩沖區調節列。

          -s<間隔秒數> 持續觀察內存使用狀況。

          -t 顯示內存總和列。

          -V 顯示版本信息。

          4.使用實例:

          實例1:顯示內存使用情況

          命令:

          free

          free -g

          free -m

          輸出:

          [root@SF1150 service]# free

          total used free shared buffers cached

          Mem: 32940112 30841684 2098428 0 4545340 11363424

          -/+ buffers/cache: 14932920 18007192

          Swap: 32764556 1944984 30819572

          [root@SF1150 service]# free -g

          total used free shared buffers cached

          Mem: 31 29 2 0 4 10

          -/+ buffers/cache: 14 17

          Swap: 31 1 29

          [root@SF1150 service]# free -m

          total used free shared buffers cached

          Mem: 32168 30119 2048 0 4438 11097

          -/+ buffers/cache: 14583 17584

          Swap: 31996 1899 30097

          說明:

          下面是對這些數值的解釋:

          total:總計物理內存的大小。

          used:已使用多大。

          free:可用有多少。

          Shared:多個進程共享的內存總額。

          Buffers/cached:磁盤緩存的大小。

          第三行(-/+ buffers/cached):

          used:已使用多大。

          free:可用有多少。

          第四行是交換分區SWAP的,也就是我們通常所說的虛擬內存。

          區別:第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區別。 這兩個的區別在于使用的角度來看,第一行是從OS的角度來看,因為對于OS,buffers/cached 都是屬于被使用,所以他的可用內存是2098428KB,已用內存是30841684KB,其中包括,內核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.

          第三行所指的是從應用程序角度來看,對于應用程序來說,buffers/cached 是等于可用的,因為buffer/cached是為了提高文件讀取的性能,當應用程序需在用到內存的時候,buffer/cached會很快地被回收。

          所以從應用程序的角度來說,可用內存=系統free memory+buffers+cached。

          如本機情況的可用內存為:

          18007156=2098428KB+4545340KB+11363424KB

          接下來解釋什么時候內存會被交換,以及按什么方交換。

          當可用內存少于額定值的時候,就會開會進行交換.如何看額定值:

          命令:

          cat /proc/meminfo

          輸出:

          [root@SF1150 service]# cat /proc/meminfo

          MemTotal: 32940112 kB

          MemFree: 2096700 kB

          Buffers: 4545340 kB

          Cached: 11364056 kB

          SwapCached: 1896080 kB

          Active: 22739776 kB

          Inactive: 7427836 kB

          HighTotal: 0 kB

          HighFree: 0 kB

          LowTotal: 32940112 kB

          LowFree: 2096700 kB

          SwapTotal: 32764556 kB

          SwapFree: 30819572 kB

          Dirty: 164 kB

          Writeback: 0 kB

          AnonPages: 14153592 kB

          Mapped: 20748 kB

          Slab: 590232 kB

          PageTables: 34200 kB

          NFS_Unstable: 0 kB

          Bounce: 0 kB

          CommitLimit: 49234612 kB

          Committed_AS: 23247544 kB

          VmallocTotal: 34359738367 kB

          VmallocUsed: 278840 kB

          VmallocChunk: 34359459371 kB

          HugePages_Total: 0HugePages_Free: 0HugePages_Rsvd: 0Hugepagesize: 2048 kB

          交換將通過三個途徑來減少系統中使用的物理頁面的個數:

          1.減少緩沖與頁面cache的大小,

          2.將系統V類型的內存頁面交換出去,

          3.換出或者丟棄頁面。(Application 占用的內存頁,也就是物理內存不足)。

          事實上,少量地使用swap是不是影響到系統性能的。

          那buffers和cached都是緩存,兩者有什么區別呢?

          為了提高磁盤存取效率, Linux做了一些精心的設計, 除了對dentry進行緩存(用于VFS,加速文件路徑名到inode的轉換), 還采取了兩種主要Cache方式:Buffer Cache和Page Cache。前者針對磁盤塊的讀寫,后者針對文件inode的讀寫。這些Cache有效縮短了 I/O系統調用(比如read,write,getdents)的時間。

          磁盤的操作有邏輯級(文件系統)和物理級(磁盤塊),這兩種Cache就是分別緩存邏輯和物理級數據的。

          Page cache實際上是針對文件系統的,是文件的緩存,在文件層面上的數據會緩存到page cache。文件的邏輯層需要映射到實際的物理磁盤,這種映射關系由文件系統來完成。當page cache的數據需要刷新時,page cache中的數據交給buffer cache,因為Buffer Cache就是緩存磁盤塊的。但是這種處理在2.6版本的內核之后就變的很簡單了,沒有真正意義上的cache操作。

          Buffer cache是針對磁盤塊的緩存,也就是在沒有文件系統的情況下,直接對磁盤進行操作的數據會緩存到buffer cache中,例如,文件系統的元數據都會緩存到buffer cache中。

          簡單說來,page cache用來緩存文件數據,buffer cache用來緩存磁盤數據。在有文件系統的情況下,對文件操作,那么數據會緩存到page cache,如果直接采用dd等工具對磁盤進行讀寫,那么數據會緩存到buffer cache。

          所以我們看linux,只要不用swap的交換空間,就不用擔心自己的內存太少.如果常常swap用很多,可能你就要考慮加物理內存了.這也是linux看內存是否夠用的標準.

          如果是應用服務器的話,一般只看第二行,+buffers/cache,即對應用程序來說free的內存太少了,也是該考慮優化程序或加內存了。

          實例2:以總和的形式顯示內存的使用信息

          命令:

          free -t

          輸出:

          [root@SF1150 service]# free -t

          total used free shared buffers cached

          Mem: 32940112 30845024 2095088 0 4545340 11364324

          -/+ buffers/cache: 14935360 18004752Swap: 32764556 1944984 30819572Total: 65704668 32790008 32914660[root@SF1150 service]#

          說明:

          實例3:周期性的查詢內存使用信息

          命令:

          free -s 10

          輸出:

          [root@SF1150 service]# free -s 10

          total used free shared buffers cached

          Mem: 32940112 30844528 2095584 0 4545340 11364380

          -/+ buffers/cache: 14934808 18005304Swap: 32764556 1944984 30819572

          total used free shared buffers cached

          Mem: 32940112 30843932 2096180 0 4545340 11364388

          -/+ buffers/cache: 14934204 18005908Swap: 32764556 1944984 30819572

          說明:

          每10s 執行一次命令

          轉載地址:http://www.cnblogs.com/peida/archive/2012/12/25/2831814.html

          .在CentOS6及以前的版本中

          在CentOS6及以前的版本中,free命令輸出是這樣的:

          $free -m
           
                      total          used      free    shared    buffers    cached
          Mem:        1002            769      233      0        62        421
          -/+ buffers/cache:          286      716
          Swap:        1153          0        1153

          第一行

          系統內存主要分為四部分:used(程序已使用內存),free(空閑內存),buffers(buffer cache),cached(Page cache)。

          系統總內存total = used + free; buffers和cached被算在used里,因此第一行系統已使用內存used = buffers + cached + 第二行系統已使用內存used由于buffers和cached在系統需要時可以被回收使用,因此系統可用內存 = free + buffers + cached;

          shared為程序共享的內存空間,往往為0。

          第二行

          正因為buffers和cached在系統需要時可以被回收使用,因此buffer和cached其實可以可以算作可用內存,因此:

          系統可用內存,即第二行的free = 第一行的free + buffers + cached。

          系統已使用內存,即第二行的used = total - 第二行free

          第三行

          swap內存交換空間使用情況

          2. CentOS7及以后

          CentOS7及以后free命令的輸出如下:

          # free -m
                        total        used        free      shared  buff/cache  available
          Mem:          3440        213        2276        168        950        2778
          Swap:            0          0          0

          buffer和cached被合成一組,加入了一個available,關于此available,文檔上的說明如下:
          ?MemAvailable: An estimate of how much memory is available for starting new applications, without swapping.

          即系統可用內存,之前說過由于buffer和cache可以在需要時被釋放回收,系統可用內存即 free + buffer + cache,在CentOS7之后這種說法并不準確,因為并不是所有的buffer/cache空間都可以被回收。

          即available = free + buffer/cache - 不可被回收內存(共享內存段、tmpfs、ramfs等)。

          因此在CentOS7之后,用戶不需要去計算buffer/cache,即可以看到還有多少內存可用,更加簡單直觀。

          3. buffer/cache相關介紹

          什么是buffer/cache?

          buffer 和 cache 是兩個在計算機技術中被用濫的名詞,放在不通語境下會有不同的意義。在 Linux 的內存管理中,這里的 buffer 指 Linux 內存的: Buffer cache 。這里的 cache 指 Linux 內存中的: Page cache 。翻譯成中文可以叫做緩沖區緩存和頁面緩存。在歷史上,它們一個( buffer )被用來當成對 io 設備寫的緩存,而另一個( cache )被用來當作對 io 設備的讀緩存,這里的 io 設備,主要指的是塊設備文件和文件系統上的普通文件。但是現在,它們的意義已經不一樣了。在當前的內核中, page cache 顧名思義就是針對內存頁的緩存,說白了就是,如果有內存是以 page 進行分配管理的,都可以使用 page cache 作為其緩存來管理使用。當然,不是所有的內存都是以頁( page )進行管理的,也有很多是針對塊( block )進行管理的,這部分內存使用如果要用到 cache 功能,則都集中到 buffer cache 中來使用。(從這個角度出發,是不是 buffer cache 改名叫做 block cache 更好?)然而,也不是所有塊( block )都有固定長度,系統上塊的長度主要是根據所使用的塊設備決定的,而頁長度在 X86 上無論是 32 位還是 64 位都是 4k 。

          明白了這兩套緩存系統的區別,就可以理解它們究竟都可以用來做什么了。

          什么是 page cache

          Page cache 主要用來作為文件系統上的文件數據的緩存來用,尤其是針對當進程對文件有 read / write 操作的時候。如果你仔細想想的話,作為可以映射文件到內存的系統調用: mmap 是不是很自然的也應該用到 page cache ?在當前的系統實現里, page cache 也被作為其它文件類型的緩存設備來用,所以事實上 page cache 也負責了大部分的塊設備文件的緩存工作。

          什么是 buffer cache

          Buffer cache 則主要是設計用來在系統對塊設備進行讀寫的時候,對塊進行數據緩存的系統來使用。這意味著某些對塊的操作會使用 buffer cache 進行緩存,比如我們在格式化文件系統的時候。一般情況下兩個緩存系統是一起配合使用的,比如當我們對一個文件進行寫操作的時候, page cache 的內容會被改變,而 buffer cache 則可以用來將 page 標記為不同的緩沖區,并記錄是哪一個緩沖區被修改了。這樣,內核在后續執行臟數據的回寫( writeback )時,就不用將整個 page 寫回,而只需要寫回修改的部分即可。

          如何回收 cache ?

          Linux 內核會在內存將要耗盡的時候,觸發內存回收的工作,以便釋放出內存給急需內存的進程使用。一般情況下,這個操作中主要的內存釋放都來自于對 buffer / cache 的釋放。尤其是被使用更多的 cache 空間。既然它主要用來做緩存,只是在內存夠用的時候加快進程對文件的讀寫速度,那么在內存壓力較大的情況下,當然有必要清空釋放 cache ,作為 free 空間分給相關進程使用。所以一般情況下,我們認為 buffer/cache 空間可以被釋放,這個理解是正確的。

          但是這種清緩存的工作也并不是沒有成本。理解 cache 是干什么的就可以明白清緩存必須保證 cache 中的數據跟對應文件中的數據一致,才能對 cache 進行釋放。所以伴隨著 cache 清除的行為的,一般都是系統 IO 飆高。因為內核要對比 cache 中的數據和對應硬盤文件上的數據是否一致,如果不一致需要寫回,之后才能回收。

          在系統中除了內存將被耗盡的時候可以清緩存以外,我們還可以使用下面這個文件來人工觸發緩存清除的操作:

          [root@tencent64 ~]# cat /proc/sys/vm/drop_caches
          1

          方法是:

          echo 1 > /proc/sys/vm/drop_caches

          當然,這個文件可以設置的值分別為 1 、 2 、 3 。它們所表示的含義為:

          echo 1 > /proc/sys/vm/drop_caches:

          表示清除 pagecache 。

          echo 2 > /proc/sys/vm/drop_caches:

          表示清除回收 slab 分配器中的對象(包括目錄項緩存和 inode 緩存)。 slab 分配器是內核中管理內存的一種機制,其中很多緩存數據實現都是用的 pagecache 。

          echo 3 > /proc/sys/vm/drop_caches:

          表示清除 pagecache 和 slab 分配器中的緩存對象。

          https://www.linuxprobe.com/centos-free-command.html

          每次給視頻配音都非常痛苦,久而久之我就積攢了很多的音頻素材網站,今天就給大家分享6個私藏已久的音頻資源網站,質量高又免費,且用且珍惜。

          01*淘聲網

          https://www.tosound.com/

          這個網站可以查找全網不同站源的聲音素材,包含不同風格的音樂、音效,資源非常豐富!提供了聲音的來源出處,讓我們可以自由挑選無版權素材,避免侵權問題。

          02*FUGUE

          https://icons8.com/music

          這是一個的音樂資源豐富的素材庫,雖然是國外網站,當可以搭配翻譯插件使用。歌曲按照類別、流派進行劃分,你也可以輸入關鍵詞搜索,全部音樂都可以試聽下載。

          03*知魚

          https://sucai.zhiyu.art/music

          這個資源網站比較全面,圖片、視頻、音樂、音效等素材,都可以免版權使用。目前有233個音樂素材和663個音效素材,支持試聽,你可以按照類型、情緒進行篩選。

          04*小森平

          https://taira-komori.jpn.org/freesoundcn.html

          這個網站里的所有音效,都是可以免費下載的,里面的聲音分類非常的多,聲音也非常逼真。有人的聲音、動作聲、動物的聲音、自然界的各種聲音,應有盡有。

          05*Mixkit

          https://mixkit.co/

          這個網站可以頂三個用!因為它不僅是視頻素材網站,還是音樂的素材網站和PR模板素材網站。音樂專區的音樂也非常的多,還有聲音特效,都是可以免費下載的。

          06*幕后

          https://muhou.net/mouse-c_down

          這是國內為數不多的免費資源共享站,里面提供了音樂素材,主要都是各種聲音合集,適用于各類場景。但是這些音效都是在視頻中,想要獲取音頻,需要格式轉換。

          通常我們會用到【迅捷音頻轉換器】,上面有個“音頻提取”功能,將保存的視頻添加進去,就能自動分離出音頻了。

          如果平時你下載的音頻素材無法播放,很有可能是格式不兼容,也可以用這款工具,將音頻通通轉換成常用的mp3格式,就能正常播放使用啦。

          最美尾巴:

          以上就是我今天分享的內容,如果大家覺得有用,記得點贊告訴我,我會繼續分享更多優質的內容。

          上面這6個私藏已久的音頻資源網站,質量高又免費,還請大家且用且珍惜呀。


          主站蜘蛛池模板: 日本一区二区三区四区视频| 亚洲综合一区国产精品| 亚洲乱码一区av春药高潮| 精品少妇ay一区二区三区| 日韩在线一区高清在线| 一区二区视频在线| 精品国产香蕉伊思人在线在线亚洲一区二区 | 精品一区二区三区水蜜桃| 人妻av无码一区二区三区| 亚洲第一区精品日韩在线播放| 日韩一区二区三区射精| 色狠狠一区二区三区香蕉| 中文字幕在线观看一区| 日韩精品无码人妻一区二区三区| 在线精品亚洲一区二区| 91午夜精品亚洲一区二区三区 | 日韩精品福利视频一区二区三区| 精品无码一区二区三区爱欲九九| 国内精品无码一区二区三区| 深夜福利一区二区| 国产拳头交一区二区| 麻豆精品人妻一区二区三区蜜桃| 日本片免费观看一区二区| 日韩电影一区二区三区| 亚洲日韩精品一区二区三区无码| 一区二区三区精品视频| 日韩精品一区二区午夜成人版| 狠狠综合久久av一区二区| 亲子乱av一区区三区40岁| 国内精品一区二区三区东京| 国产香蕉一区二区精品视频| 在线播放国产一区二区三区| 无码毛片视频一区二区本码| 久久久无码精品国产一区| 久久一区二区精品| 在线中文字幕一区| 国产一区二区三区乱码网站| 精品少妇ay一区二区三区| 亚洲欧美国产国产一区二区三区 | 玩弄放荡人妻一区二区三区| 亚洲色无码专区一区|