国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

實(shí)戰(zhàn)|掌握Linux內(nèi)存監(jiān)視:free命令詳解與使用技巧

這篇具有很好參考價(jià)值的文章主要介紹了實(shí)戰(zhàn)|掌握Linux內(nèi)存監(jiān)視:free命令詳解與使用技巧。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

free命令詳解,# 1 - linux基本功-基礎(chǔ)命令實(shí)戰(zhàn),linux,運(yùn)維,服務(wù)器

前言

大家好,又見面了,我是沐風(fēng)曉月,本文是專欄【linux基本功-基礎(chǔ)命令實(shí)戰(zhàn)】的第53篇文章。

專欄地址:[linux基本功-基礎(chǔ)命令專欄] , 此專欄是沐風(fēng)曉月對(duì)Linux常用命令的匯總,希望能夠加深自己的印象,以及幫助到其他的小伙伴????。

如果文章有什么需要改進(jìn)的地方還請(qǐng)大佬不吝賜教????。

??個(gè)人主頁(yè):我是沐風(fēng)曉月
??個(gè)人簡(jiǎn)介:大家好,我是沐風(fēng)曉月,雙一流院校計(jì)算機(jī)專業(yè)????
?? 座右銘: 先努力成長(zhǎng)自己,再幫助更多的人 ,一起加油進(jìn)步??????
??歡迎大家:這里是CSDN,我總結(jié)知識(shí)的地方,喜歡的話請(qǐng)三連,有問(wèn)題請(qǐng)私信??

一. free命令介紹

free 是一個(gè) Linux 和 Unix 操作系統(tǒng)中常用的命令,它用于顯示系統(tǒng)中可用內(nèi)存的總量、已用內(nèi)存的總量、空閑內(nèi)存的總量和緩存的內(nèi)存量。

二. 語(yǔ)法格式及常用選項(xiàng)

依據(jù)慣例,我們還是先查看幫助,使用 free --help

[root@mufeng ~]# free --help

Usage:
 free [options]

Options:
 -b, --bytes         show output in bytes
 -k, --kilo          show output in kilobytes
 -m, --mega          show output in megabytes
 -g, --giga          show output in gigabytes
     --tera          show output in terabytes
     --peta          show output in petabytes
 -h, --human         show human-readable output
     --si            use powers of 1000 not 1024
 -l, --lohi          show detailed low and high memory statistics
 -t, --total         show total for RAM + swap
 -s N, --seconds N   repeat printing every N seconds
 -c N, --count N     repeat printing N times, then exit
 -w, --wide          wide output

     --help     display this help and exit
 -V, --version  output version information and exit




為了更直觀一些,我們把常用的參數(shù)用表格來(lái)展示:

參數(shù) 描述
-b 以字節(jié)為單位顯示內(nèi)存使用情況;
-k 以千字節(jié)為單位顯示內(nèi)存使用情況;
-m 以兆字節(jié)為單位顯示內(nèi)存使用情況;
-g 以吉字節(jié)為單位顯示內(nèi)存使用情況;
-h 人性化顯示內(nèi)存使用情況,以適合人類閱讀的方式顯示;
-s <秒數(shù)> 指定間隔秒數(shù),以連續(xù)監(jiān)控內(nèi)存使用情況;
-c <次數(shù)> 指定監(jiān)控次數(shù),完成后退出;
-t 在匯總行中顯示內(nèi)存總量。

有了具體的參數(shù)之后,我們?cè)賮?lái)看實(shí)戰(zhàn)案例:

三. 參考案例

3.1 查看free相關(guān)的信息

[root@mufeng ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1863252      833224      376152      134604      653876      657068
Swap:       2097148       29448     2067700

這里出現(xiàn)的參數(shù)的解釋:

  • total:物理內(nèi)存總量。
  • used:已經(jīng)使用的物理內(nèi)存量。
  • free:尚未使用的物理內(nèi)存量。
  • shared:被共享使用的物理內(nèi)存量
  • buffers:被緩存的物理內(nèi)存量。
  • cached:被緩存的硬盤文件的物理內(nèi)存量。
  • available:剩余可用的物理內(nèi)存量。
  • Swaptotal:交換空間總量。
  • Swap used:已經(jīng)使用的交換空間量
  • Swap free:尚未使用的交換空間量

示例輸出:

             total       used       free     shared    buffers     cached
Mem:       1024000     999000      24000       3000      12000     700000
-/+ buffers/cache:     287000     737000
Swap:       524284          0     524284

上述示例輸出解釋:

物理內(nèi)存總量為1GB(1024000KB)。
已經(jīng)使用的物理內(nèi)存量為999MB(999000KB)。
尚未使用的物理內(nèi)存量為24MB(24000KB)。
被共享使用的物理內(nèi)存量為3MB(3000KB)。
被緩存的物理內(nèi)存量為12MB(12000KB)。
被緩存的硬盤文件的物理內(nèi)存量為700MB(700000KB)。
剩余可用的物理內(nèi)存量為737MB(737000KB)。
交換空間總量為512MB(524284KB)。
已經(jīng)使用的交換空間量為0。
尚未使用的交換空間量為512MB(524284KB)。

問(wèn)題1: 那buffers和cached都是緩存,兩者有什么區(qū)別呢?

的確buffers 和 cached 都是用于緩存的內(nèi)存,但是它們的緩存對(duì)象不同:

buffers:用于緩存塊設(shè)備(如硬盤、光驅(qū)等)的輸入輸出數(shù)據(jù),緩存的是磁盤塊的數(shù)據(jù)。這個(gè)緩存會(huì)在數(shù)據(jù)被寫入磁盤后被釋放掉,不會(huì)持久化到磁盤上。

cached:用于緩存文件系統(tǒng)的數(shù)據(jù),緩存的是文件數(shù)據(jù)。這個(gè)緩存會(huì)在文件被修改時(shí)被寫入磁盤,從而變成持久化的緩存。

因此,buffers 主要是用于優(yōu)化磁盤 I/O 操作,而 cached 主要是用于優(yōu)化文件讀取操作。在 Linux 系統(tǒng)中,buffers 和 cached 都會(huì)占用未被應(yīng)用程序使用的內(nèi)存,以提高系統(tǒng)性能和響應(yīng)速度。當(dāng)需要更多內(nèi)存時(shí),它們可以被釋放掉,以供應(yīng)用程序使用。

問(wèn)題2 : free中的available 是什么

“available” 的美音標(biāo)是 /??ve?l?bl/

available 字段是指系統(tǒng)中可用的內(nèi)存量,它表示系統(tǒng)當(dāng)前可用于分配給新進(jìn)程使用的內(nèi)存量。這個(gè)值并不完全等于 free 字段,因?yàn)檫€考慮了緩存的內(nèi)存和已經(jīng)被分配但可以被回收的內(nèi)存。

available 字段的計(jì)算方法是:free + buffers + cached - low water mark,其中 low water mark 是一個(gè)系統(tǒng)內(nèi)部預(yù)留的緩沖區(qū),用于保證系統(tǒng)能夠保持足夠的緩存能力,以應(yīng)對(duì)高峰期的內(nèi)存需求。

available 字段可以用來(lái)估算系統(tǒng)還可以為新進(jìn)程提供的內(nèi)存空間,因?yàn)樗紤]了系統(tǒng)當(dāng)前緩存的內(nèi)存,以及一些可以被回收的內(nèi)存。但是需要注意的是,這個(gè)值并不是絕對(duì)精確的,因?yàn)樗皇且粋€(gè)估算值,而且可能會(huì)隨著系統(tǒng)使用情況的變化而變化。

從應(yīng)用程序的角度來(lái)說(shuō),可用內(nèi)存=系統(tǒng)free memory+buffers+cached。

3.2 以MB的形式顯示內(nèi)存的使用情況

以M對(duì)形式顯示,此處用的是MB

[root@mufeng ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1819         813         367         131         638         641
Swap:          2047          28        2019
[root@mufeng ~]# 

3.3 以總和的形式顯示內(nèi)存的使用情況

此處使用 -t參數(shù),代碼如下:

[root@mufeng ~]# free -t
              total        used        free      shared  buff/cache   available
Mem:        1863252      833156      376216      134604      653880      657136
Swap:       2097148       29448     2067700
Total:      3960400      862604     2443916
[root@mufeng ~]# 

3.4 周期性的查詢內(nèi)存的使用情況

-s參數(shù)可以周期行的查詢內(nèi)存的使用情況:

比如每五秒鐘查詢一次:

[root@mufeng ~]# free -s 5
              total        used        free      shared  buff/cache   available
Mem:        1863252      833220      376152      134604      653880      657072
Swap:       2097148       29448     2067700

              total        used        free      shared  buff/cache   available
Mem:        1863252      833220      376152      134604      653880      657072
Swap:       2097148       29448     2067700


可以看到每五秒鐘會(huì)跳一次,也就是查詢一次。

3.5 以更人性化的形式來(lái)查看內(nèi)存的結(jié)果輸出

此處我們用到 -h參數(shù)

[root@mufeng ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        813M        367M        131M        638M        641M
Swap:          2.0G         28M        2.0G
[root@mufeng ~]# 

以上就是free命令的全部?jī)?nèi)容,后續(xù)如果有新的感悟在繼續(xù)添加。

四. free在腳本中的應(yīng)用

下面是一個(gè)關(guān)于free命令的腳本示例,該腳本可以在Linux系統(tǒng)中使用,用于監(jiān)視系統(tǒng)的內(nèi)存使用情況,并在內(nèi)存不足時(shí)發(fā)出警告。

#!/bin/bash

THRESHOLD=80 # 內(nèi)存使用率超過(guò)80%時(shí)發(fā)出警告

while true
do
  OUTPUT=$(free | grep Mem)
  TOTAL=$(echo $OUTPUT | awk '{print $2}')
  USED=$(echo $OUTPUT | awk '{print $3}')
  FREE=$(echo $OUTPUT | awk '{print $4}')
  PERCENTAGE=$((USED*100/TOTAL))
  DATE=$(date)

  if [ $PERCENTAGE -gt $THRESHOLD ]; then
    echo "警告!內(nèi)存使用率超過(guò) $THRESHOLD% 在 $DATE!"
  fi

  sleep 10
done

腳本解釋:

  1. THRESHOLD=80:定義一個(gè)變量THRESHOLD,表示內(nèi)存使用率的閾值,即當(dāng)內(nèi)存使用率超過(guò)80%時(shí)發(fā)出警告。

  2. while true:無(wú)限循環(huán),不停地監(jiān)視內(nèi)存使用情況。

  3. OUTPUT=$(free | grep Mem):執(zhí)行free命令,并使用grep命令過(guò)濾出其中包含“Mem”的行,將輸出結(jié)果賦值給變量OUTPUT。

  4. TOTAL=$(echo $OUTPUT | awk ‘{print $2}’):使用echo和awk命令從變量OUTPUT中提取出物理內(nèi)存總量,將結(jié)果賦值給變量TOTAL。

  5. USED=$(echo $OUTPUT | awk ‘{print $3}’):使用echo和awk命令從變量OUTPUT中提取出已使用的物理內(nèi)存量,將結(jié)果賦值給變量USED。

  6. FREE=$(echo $OUTPUT | awk ‘{print $4}’):使用echo和awk命令從變量OUTPUT中提取出尚未使用的物理內(nèi)存量,將結(jié)果賦值給變量FREE。

  7. PERCENTAGE=$((USED*100/TOTAL)):計(jì)算內(nèi)存使用率的百分比,將結(jié)果賦值給變量PERCENTAGE。

  8. DATE=$(date):獲取當(dāng)前系統(tǒng)時(shí)間,將結(jié)果賦值給變量DATE。

  9. if [ $PERCENTAGE -gt $THRESHOLD ]; then:如果內(nèi)存使用率超過(guò)閾值,即PERCENTAGE大于THRESHOLD,則執(zhí)行下一步。

  10. echo “警告!內(nèi)存使用率超過(guò) $THRESHOLD% 在 $DATE!”:在控制臺(tái)上輸出警告信息,包括當(dāng)前時(shí)間和內(nèi)存使用率。

  11. sleep 10:休眠10秒,等待下一次監(jiān)視。

總結(jié)

free命令在日常工作中,應(yīng)用的比較廣泛,一定要認(rèn)真學(xué)習(xí),記熟記牢常用參數(shù)。

?????? 好啦,這就是今天要分享給大家的全部?jī)?nèi)容了,我們下期再見!? ? ?
??????如果你喜歡的話,就不要吝惜你的一鍵三連了~

free命令詳解,# 1 - linux基本功-基礎(chǔ)命令實(shí)戰(zhàn),linux,運(yùn)維,服務(wù)器
free命令詳解,# 1 - linux基本功-基礎(chǔ)命令實(shí)戰(zhàn),linux,運(yùn)維,服務(wù)器文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-822924.html

到了這里,關(guān)于實(shí)戰(zhàn)|掌握Linux內(nèi)存監(jiān)視:free命令詳解與使用技巧的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Linux 內(nèi)存詳解,即top、free、vmstat、meminfo、Buffer和Cache的介紹

    Linux 內(nèi)存詳解,即top、free、vmstat、meminfo、Buffer和Cache的介紹

    Linux? 內(nèi)存詳解,即top、free、vmstat、meminfo、Buffer和Cache的介紹_用作內(nèi)核緩存的內(nèi)存量_zzhongcy的博客-CSDN博客 ? ? ? top命令是Linux下常用的性能分析工具,能夠?qū)崟r(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用狀況,類似于Windows的任務(wù)管理器。top是一個(gè)動(dòng)態(tài)顯示過(guò)程,即可以通過(guò)用戶按鍵來(lái)

    2024年02月03日
    瀏覽(21)
  • 【C語(yǔ)言】free()函數(shù)詳解(動(dòng)態(tài)內(nèi)存釋放函數(shù))

    【C語(yǔ)言】free()函數(shù)詳解(動(dòng)態(tài)內(nèi)存釋放函數(shù))

    ?? 個(gè)人主頁(yè) :修修修也 ?? 所屬專欄 :C語(yǔ)言 ?? 操作環(huán)境 : Visual Studio 2022 目錄 ?一.free()函數(shù)簡(jiǎn)介 1.函數(shù)功能 2.函數(shù)參數(shù) void * ptr 3.函數(shù)返回值 4.函數(shù)頭文件 二.free()函數(shù)的具體使用 1.使用free()函數(shù)完成malloc()開辟空間的釋放 2.使用free()函數(shù)完成calloc()開辟空間的釋放 3.使用

    2024年02月08日
    瀏覽(21)
  • 深入理解Linux中的‘free’和‘a(chǎn)vailable’內(nèi)存

    深入理解Linux中的‘free’和‘a(chǎn)vailable’內(nèi)存

    在Linux系統(tǒng)管理中,最常用的查看內(nèi)存命令是\\\'free -h\\\'。準(zhǔn)確理解內(nèi)存使用情況是非常重要的。本文將詳細(xì)解釋Linux中“free”和“available”內(nèi)存的概念,并闡述如何利用這些信息進(jìn)行內(nèi)存優(yōu)化。 free命令是Linux系統(tǒng)中的一個(gè)非常有用的命令,它用于顯示系統(tǒng)內(nèi)存的使用情況,包括

    2024年02月04日
    瀏覽(14)
  • Linux 內(nèi)存top命令詳解

    Linux 內(nèi)存top命令詳解

    通過(guò)top命令可以監(jiān)控當(dāng)前機(jī)器的內(nèi)存實(shí)時(shí)使用情況,該命令的參數(shù)解釋如下: ? ====================================================================== buffer和cache的詳解: ===================================================================== 參考鏈接:linux top 命令各參數(shù)詳解 - 簡(jiǎn)書[linux]解讀top命令_top 命令

    2024年02月22日
    瀏覽(20)
  • 掌握文件權(quán)限管理:Mac和Linux中的chmod +x命令詳解

    chmod +x是一個(gè)用于在Mac和Linux操作系統(tǒng)上設(shè)置可執(zhí)行權(quán)限的命令。它允許你將可執(zhí)行權(quán)限添加到文件,使得你可以運(yùn)行這個(gè)文件作為一個(gè)程序或腳本。這個(gè)命令通常用于shell腳本、可執(zhí)行程序和其他可運(yùn)行文件。? chmod 是一個(gè)在Unix和Unix-like操作系統(tǒng)中用來(lái)改變文件或目錄權(quán)限的

    2024年02月05日
    瀏覽(97)
  • Linux常用命令——free命令

    Linux常用命令——free命令

    顯示內(nèi)存的使用情況 free命令 可以顯示當(dāng)前系統(tǒng)未使用的和已使用的內(nèi)存數(shù)目,還可以顯示被內(nèi)核使用的內(nèi)存緩沖區(qū)。 語(yǔ)法 選項(xiàng) 實(shí)例 顯示內(nèi)存使用情況 第一部分Mem行解釋: 關(guān)系:total = used + free 第二部分(-/+ buffers/cache)解釋: 可見-buffers/cache反映的是被程序?qū)崒?shí)在在吃掉的內(nèi)

    2024年02月11日
    瀏覽(21)
  • C語(yǔ)言——?jiǎng)討B(tài)內(nèi)存管理(malloc, calloc, realloc, free, 柔性數(shù)組詳解)

    C語(yǔ)言——?jiǎng)討B(tài)內(nèi)存管理(malloc, calloc, realloc, free, 柔性數(shù)組詳解)

    我們以往定義數(shù)組,都是這么定義的: 以這種方式開辟空間有兩個(gè)特點(diǎn): 空間開辟的大小是固定的 數(shù)組在聲明的時(shí)候,必須指定數(shù)組的長(zhǎng)度,它所需要的內(nèi)存在編譯時(shí)分配 因此就導(dǎo)致了這樣一個(gè)現(xiàn)象:我們無(wú)法在后續(xù)的過(guò)程中修改數(shù)組的大小,這是一個(gè)十分麻煩的事情 而

    2024年02月16日
    瀏覽(25)
  • Linux命令·free

    free命令可以顯示Linux系統(tǒng)中空閑的、已用的物理內(nèi)存及swap內(nèi)存,及被內(nèi)核使用的buffer。在Linux系統(tǒng)監(jiān)控的工具中,free命令是最經(jīng)常使用的命令之一。 1.命令格式: free?[參數(shù)] 2.命令功能: free?命令顯示系統(tǒng)使用和空閑的內(nèi)存情況,包括物理內(nèi)存、交互區(qū)內(nèi)存(swap)和內(nèi)核緩沖

    2024年03月26日
    瀏覽(20)
  • 【linux】關(guān)于內(nèi)存free轉(zhuǎn)換到buffer/cache之后,內(nèi)存被用完的解決思路

    【linux】關(guān)于內(nèi)存free轉(zhuǎn)換到buffer/cache之后,內(nèi)存被用完的解決思路

    最近跑程序,發(fā)現(xiàn)linux在執(zhí)行大量讀寫操作后,內(nèi)存的可用(free)會(huì)不斷被buffer/cache所占據(jù),導(dǎo)致內(nèi)存空間被用完,一直以為是代碼哪里寫的問(wèn)題,導(dǎo)致內(nèi)存泄露,后來(lái)發(fā)現(xiàn)就是發(fā)生了I/O讀寫操作后,會(huì)產(chǎn)生buffer/cache,需要定時(shí)釋放。 這個(gè)情況也是第一次遇到,不知道如何解

    2024年02月14日
    瀏覽(21)
  • Linux grep命令與$?命令結(jié)合使用技巧

    今天檢查前同事留下的一個(gè)shell腳本時(shí),其中一個(gè)腳本中有一個(gè)業(yè)務(wù)邏輯處理:要判斷Oracle數(shù)據(jù)庫(kù)實(shí)例是否啟動(dòng),如果數(shù)據(jù)庫(kù)實(shí)例處于OPEN狀態(tài)的話,則執(zhí)行/運(yùn)行一些業(yè)務(wù)邏輯操作。腳本大體如下(腳本做了一下混淆和精簡(jiǎn)收縮) 其中chkdbup.sh腳本的內(nèi)容如下: Review這個(gè)腳本時(shí)

    2024年02月15日
    瀏覽(34)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包